繁体   English   中英

Perl正则表达式与数字匹配

[英]perl regex match with numbers

我正在尝试匹配以下内容(以下内容位于名为@abc的数组中):

goo foo tool: 1.2.1 (a3 change: 234342 @ 2014/02/19 14:20:27)

my $match = "goo foo tool: (\d+)\.(\d+)\.(\d+) \(a3 change: \d+ @ #DATE# #TIME#\)";

在我的代码中

 78     foreach (@abc){
 79         print "$_\n";
 80         if ($_ =~ m/$match/){
 81             print "$1\n";
 82         } else {
 83             print "not matched\n";
 84         }
 85     }

我看不到为什么打印“不匹配\\ n”;
有人知道为什么吗?

#DATE#和#TIME#字符串常量不会与您拥有的日期匹配。 只需将其调整为正则表达式即可实际匹配这些值:

my $match = "goo foo tool: (\d+)\.(\d+)\.(\d+) \(a3 change: \d+ \@ \d+/\d+/\d+ \d+:\d+:\d+\)";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM