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

Perl 6 的正则表达式

发布时间:2020-12-15 23:43:24 所属栏目:大数据 来源:网络整理
导读:与 Perl 5 相同的部分: ## 分组捕获: ? ? if 'abababc' ~~ / ('ab'+) / { say $0 } ?????ababab? ## 重复数量 `?` `+` `*` `+?` `*?` ? ? if 'abcde' ~~ / ('ab'?) ('cd'+) ('e'*) / { say "$0 $1 $2" } ????ab cd e ## 反斜杠字符集 w s d n t v ??

与 Perl 5 相同的部分:


## 分组捕获:

? ? > if 'abababc' ~~ / ('ab'+) / { say $0 }

?????ababab?

## 重复数量 `?` `+` `*` `+?` `*?`

? ? > if 'abcde' ~~ / ('ab'?) ('cd'+) ('e'*) / { say "$0 $1 $2" }

????ab cd e

## 反斜杠字符集 w s d n t v

????> if 'abcde' ~~ / w+ / { say 'match' }

????match


不同的地方:

分组匿名捕获,是从 $0 开始的,而 Perl 5 是从 $1.?

????> if 'ab' ~~ / (w+) / { say $0.Str }

? ? ab


固定数量符号,不再是 { $m,$n } 的形式:

? ? 'ababab' ~~ / 'ab' ** 1..3 /

????'ababab' ~~ / 'ab' ** 3 /

????'ababab' ~~ / 'ab' ** 1..* /


字符串也出现在正则表达式中,也是一种不捕获匿名分组:

? ? ?> 'ababaw+' ~~ / 'ababaw+' /

???? True

? ? ? > ?'cde*?' ~~ / "cde*?" /

????? True


字符类现在用尖括号包围起来了:


????‘abcd' ~~ / <[abcd]>+ /

? ? ? ?'abcd' ~~ / <[w]>+ /


既然包围起来了,就能进行一些求并集和差集的计算了:


????????‘abcd123' ~~ / <[abcd] + [123]> /


字符集求反不再是 [^abc] 的格式:


? ? 'zzz' ~~ / <-[abc]> /

(编辑:李大同)

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

    推荐文章
      热点阅读