Perl:从字符串中提取多个数字

use*_*523 4 regex perl

有人可以帮我纠正以下代码.我想从输入字符串中提取两个数字.

  input string [7:0] xxxx
Run Code Online (Sandbox Code Playgroud)

我想将'7'和'0'加载到两个变量(min和max)中.我试图实现这一目标

my ($max, $min);
($max, $min) = $_ =~ /[(\d+):(\d+)]/;
print "min: $min max $max\n";
Run Code Online (Sandbox Code Playgroud)

我得到了一个结果

Use of uninitialized value in concatenation (.) or string at constraints.pl line 16, <PH> line 165.
min:  max: 1
Run Code Online (Sandbox Code Playgroud)

问候

TLP*_*TLP 7

[并且]是正则表达式元字符,所以你必须逃避它们

($max, $min) = $_ =~ /\[(\d+):(\d+)\]/;
Run Code Online (Sandbox Code Playgroud)

括号用于表示字符类:[ ... ]匹配其中的字符,例如[abc]匹配a.