如何解决有Perl等同于Python的re.findall / re.finditer正则表达式迭代结果吗?
/g
在您的比赛中使用修饰符。从perlop
手册中:
“
/g
”修饰符指定全局模式匹配- 也就是说,在字符串内尽可能多地匹配。它的行为取决于上下文。在列表上下文中,它返回与正则表达式中的任何捕获括号匹配的子字符串列表。如果没有括号,它将返回所有匹配字符串的列表,就好像整个模式周围都有括号一样。在标量上下文中,每次执行“
m//g
”都会找到下一个匹配项,如果匹配则返回true,如果没有其他匹配则返回false。可以使用该pos()
功能读取或设置最后一场比赛后的位置;参见“pos
”perlfunc
。匹配失败通常会将搜索位置重置为字符串的开头,但是您可以通过添加“/c
”修饰符(例如“m//gc
”)来避免这种情况。修改目标字符串也会重置搜索位置。
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。