我正在学习Perl正则表达式,我正在尝试从字符串中提取数字,例如
my $text = "abc000142gh";
Run Code Online (Sandbox Code Playgroud)
即我想000142在标量变量中提取为字符串.
我试过了:
my $digits = $text ~= /(+d)/;
my $digits = $text ~= m/(+d)/;
my $digits = $text ~= m/(+d)/g;
my $digits = $text ~= /(+d)/g;
Run Code Online (Sandbox Code Playgroud)
但它们似乎都没有用.有没有办法用单线程做到这一点?
这有效:
my $text = 'abc000142gh';
my ($digits) = $text =~ /(\d+)/;
Run Code Online (Sandbox Code Playgroud)
差异:
=~不是~=.\d表示数字,d代表自己.+ (重复)在符号重复之后使用,而不是之前.