perl6正则 2: 字母,数字,空格和下划线
Posted FireC@t @ Perl6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl6正则 2: 字母,数字,空格和下划线相关的知识,希望对你有一定的参考价值。
数字, 字母, 下划线
在perl6中, 如果是 数字, 字母, 下划线, 在正则里可以正接写上。
> so ‘perl6‘ ~~ /6/
True
> so ‘perl6_‘ ~~ /_/
True
>
非数字, 字母, 下划线
如果不是数字、字母、 下划线, 可以用 \ 反斜线转义, 或用单、双相号包围。
> ‘[email protected]‘ ~~ / name\@co /
锝ame@co锝?
> ‘[email protected]‘ ~~ / name‘@‘co /
锝ame@co锝?
> ‘[email protected]‘ ~~ / name"@"co /
锝ame@co锝?
>
空格
空格默认是忽略的, 比如, /ab cde/ 相等于 /abcde/。
> so ‘ab cde‘ ~~ /ab cd/
False
> so ‘ab cde‘ ~~ /ab \s cd/
False
> so ‘ab cde‘ ~~ /ab \s+ cd/
True
>
<[]> / <-[]>字符集
用<[]>定义字符集, 范围符号用 ..
如果要取反, 可以用这种形式: <-[]>
> so (‘abc1de‘ ~~ /<-[[email protected]#.?+$]>/)
False
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?+$]>/)
a
>
在字符集中, 不用转义圆点与非字母字符
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\]>/)
a
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`]>/)
a
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`~]>/)
a
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`~-]>/)
-
> ~ (‘-abc1de‘ ~~ /<[[email protected]#.?^+$/\\`~]>/)
-
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>/)
-
>
有一点要注意的就是: - 符号, 除了放在开头或结尾外, 在字符集中的其他地方要转义。 同样, 要转义的还有 / 符号。
当然, 量词 ? / * / + / **之类的也能用于一个字符集:
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>**3/)
-ab
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>?/)
-
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>+/)
-abc1de
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>*/)
-abc1de
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>**2/)
-a
> ~ (‘-abc1de‘ ~~ /<[a\[email protected]#.?^+$/\\`~]>**5/)
-abc1
>
以上是关于perl6正则 2: 字母,数字,空格和下划线的主要内容,如果未能解决你的问题,请参考以下文章