string - perl:获取一个子字符串,直到最后一个字符出现
问题描述
在 perl 中,从这里:
gi|1339058241|ref|XP_023717639.1|zinc finger and BTB domain-containing protein 18-like [Cryptotermes secundus]
如果我的角色是|
,我怎样才能得到字符串:
gi|1339058241|ref|XP_023717639.1|
谢谢。
解决方案
在 Perl 中,默认情况下匹配是“贪婪的”,因此您可以简单地匹配所有内容,直到您用作分隔符的字符:
$foo="gi|1339058241|ref|XP_023717639.1|zinc finger and BTB domain-containing protein 18-like [Cryptotermes secundus]";
$foo =~ /.*\|/;
print "$&\n"
$&
表示最后一次成功的模式匹配所匹配的字符串,在这种情况下,是直到最后一个字符的所有内容|
。
推荐阅读
- visual-studio-code - How to set file association to custom .env filename in VSCode settings?
- mysql - 针对 DELETE 查询的 MySQL 性能调整
- hive - Hive LIMIT changes GROUP BY result
- r - Creating a new Group of every appearence of FALSE
- java - SQLite: Is closing and reopening a database a bad habit?
- python - 在正在运行的进程中刷新 paramiko 中的标准输出
- python - 如何使用 KNN 进行推荐
- java - 在 Spring Boot 中从 XML 获取属性值
- c - eclipse中的Watchpoint vs watch表达式
- css - ionic 4 根据所选值使离子项目透明