当regexp在正则表达式匹配多个匹配的字符串中搜索模式$&
时,有没有办法解密匹配/[XY]{15,20}[WZ]{10,15}[XY]{15,20}/g
报告的场景?
我试图避免组合:
[XY]{15}[WZ]{10}[XY]{15}
[XY]{15}[WZ]{10}[XY]{16}
[XY]{15}[WZ]{10}[XY]{17}
...
[XY]{16}[WZ]{10}[XY]{15}
[XY]{17}[WZ]{10}[XY]{15}
...
我将从中了解报告的情况。
按方案我的意思是:[XY]{15}[WZ]{10}[XY]{16}
在字符串中匹配或是[XY]{16}[WZ]{10}[XY]{15}
吗?
感谢任何建议。
答案 0 :(得分:2)
正如mpapec已经建议的那样,如果你想确定更多关于它们的信息,你只需要捕获这些子表达式。
while ($string =~ /(([XY]{15,20})([WZ]{10,15})([XY]{15,20}))/g {
my ($whole, $xy1, $wz, $xy2) = ($1, $2, $3, $4);
print join(',', map length, ($xy1, $wz, $xy2)), "\n";