【发布时间】:2015-01-19 10:18:42
【问题描述】:
我正在尝试编写一个 perl 脚本,该脚本从文件中提取少量子字符串。文件包含像Lives@124.23 这样的词。我需要做的是提取字符@之后的数字,在上述情况下为124.23。
我尝试使用/\@([0-9]+\.?[0-9]+)/ 模式,但模式与提供的单词不匹配。
谁能告诉我如何提取这个数字?
【问题讨论】:
-
正则表达式没问题,在匹配之前检查你的字符串。
perl -e 'print "Lives\@124.23" =~ /\@([0-9]+\.?[0-9]+)/' -
但是我可以看到你的正则表达式正在工作。 rubular.com/r/D1nJHZm96l
-
并且需要打印组索引1。
-
@mpapec :您已经更改了输入,因为您在@ 中添加了一个字符“\”。没有“/”,提供的正则表达式将不起作用。请再次检查。
-
@Samiron 是的,我可以看到它正在工作,但我不确定如何......因为这在我的系统上失败了。顺便说一句,我正在使用 perl,v5.10.0。