加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – Perl 6分别捕获重复匹配组?

发布时间:2020-12-14 05:48:33 所属栏目:百科 来源:网络整理
导读:我相信Perl 6提供了分别捕获重复组的功能,而不是早期的风格,你只能捕获最后一组或整个匹配的组字符串.有人可以举一个很好的例子来说明如何使用Perl 6这个很棒的功能吗?对于例如 我需要捕获此正则表达式的所有匹配组 ((?:(?:(?:(?:")(?:[^"]*?)")|(?:(?!")(?
我相信Perl 6提供了分别捕获重复组的功能,而不是早期的风格,你只能捕获最后一组或整个匹配的组字符串.有人可以举一个很好的例子来说明如何使用Perl 6这个很棒的功能吗?对于例如

我需要捕获此正则表达式的所有匹配组

((?:(?:(?:(?:")(?:[^"]*?)")|(?:(?<!")(?:[^"]*?)(?!")))(?<!)|)*)

我如何在Perl 6中做到这一点?

解决方法

通常,如果量化捕获,您只需获得所有匹配的列表.例:

$perl6 -e '"abc" ~~ /<alpha>+/ and say $<alpha>.join(",")'
a,b,c

也适用于位置捕获:

$perl6 -e '"abc" ~~ /(w)+/ and say $0.join(",c

现在你可以将它应用到你自己的正则表达式,这看起来是人为的错综复杂.它是以某种方式产生的吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读