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

标签 regex perl

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

  input string [7:0] xxxx

我希望将“7”和“0”加载到两个变量(最小值和最大值)中。 我正在尝试通过

来实现这一目标
my ($max, $min);
($max, $min) = $_ =~ /[(\d+):(\d+)]/;
print "min: $min max $max\n";

我得到的结果为

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

问候

最佳答案

[] 是正则表达式元字符,因此您必须对它们进行转义

($max, $min) = $_ =~ /\[(\d+):(\d+)\]/;

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

关于regex - Perl:从字符串中提取多个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594644/

相关文章:

c# - 用于短语搜索的正则表达式

javascript - 如何在正则表达式中存储值以在同一正则表达式中使用

python - 如何在正则表达式模式中查找正则表达式模式

perl:为什么 Devel::Refcount::refcount 和 Devel::Peek::SvREFCNT 不一致?

perl - 设置钻石运算符(operator)在 bin 模式下工作?

Perl、ClamAV、扫描流中的病毒

java - 如何使用正则表达式删除字符之间的符号

javascript - 如何排除电子邮件地址中的 unicode 字符?

perl - While 循环不读取 Perl 代码生成的文件

perl - 从 Inline::Perl5 返回的列表给出了项目的计数,而不是列表