#!/usr/bin/perl
$mystring = "[2004/04/13] The date of this article.";
if($mystring =~ m/(\d+)/) {
print "The first number is $1.";
}
Perl 回归2004
,但 Kiki 和 Kodos 回归/04/
。为什么?
答案1
由于您没有提供 Python 代码(或者 Kiki 和 Kodos 是什么),所以很难确定,但我的猜测是 Kiki 和 Kodos 的模式语法与 Perl 不同,因为您不需要正斜杠分隔符。例如,Python 中的等效项是:
import re
m = re.search('(\d+)', "[2004/04/13] The date of this article.")
print m.group(0)
请注意,该模式不包含正斜杠。
答案2
在 Perl 中,重要的是要认识到正则表达式运算符不是m
,而是双斜杠 - /..../
(....
实际上是正则表达式)。m
如果您使用 ,则 是可选的/
。
以下都是等效的:
$mystring =~ m/(\d+)/;
$mystring =~ /(\d+)/;
$var = '(\d+)';
$mystring =~ /$var/;