码迷,mamicode.com
首页 > 其他好文 > 详细

perl6正则 2: 字母,数字,空格和下划线

时间:2017-08-23 00:44:29      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   bcd   划线   字母   pre   地方   weight   忽略   空格   

 

数字, 字母, 下划线

在perl6中, 如果是 数字, 字母, 下划线, 在正则里可以正接写上。

> so perl6 ~~ /6/
True
> so perl6_ ~~ /_/
True
>

 

数字, 字母, 下划线

如果不是数字、字母、 下划线, 可以用 \ 反斜线转义, 或用单、双相号包围。

 

>  name@company.uk ~~ / name\@co /
锝ame@co锝?
>  name@company.uk ~~ / name@co /
锝ame@co锝?
>  name@company.uk ~~ / 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 ~~ /<-[a12bdf_ec@#.?+$]>/)
False
> ~ (-abc1de ~~ /<[a12bdf_ec@#.?+$]>/)
a
>

 

 

 在字符集中, 不用转义圆点与非字母字符

 

> ~ (-abc1de ~~ /<[a12bdf_ec@#.?^+$/\\]>/)
a
> ~ (-abc1de ~~ /<[a12bdf_ec@#.?^+$/\\`]>/)
a
> ~ (-abc1de ~~ /<[a12bdf_ec@#.?^+$/\\`~]>/)
a
> ~ (-abc1de ~~ /<[a12bdf_ec@#.?^+$/\\`~-]>/)
-
> ~ (-abc1de ~~ /<[-a12bdf_ec@#.?^+$/\\`~]>/)
-
> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>/)
-
>

 

 

 有一点要注意的就是: 符号, 除了放在开头或结尾外, 在字符集中的其他地方要转义。 同样, 要转义的还有 / 符号。

当然, 量词 ? / * / + / **之类的也能用于一个字符集:

> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>**3/)
-ab
> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>?/)
-
> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>+/)
-abc1de
> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>*/)
-abc1de
> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>**2/)
-a
> ~ (-abc1de ~~ /<[a\-12bdf_ec@#.?^+$/\\`~]>**5/)
-abc1
>

 

perl6正则 2: 字母,数字,空格和下划线

标签:style   bcd   划线   字母   pre   地方   weight   忽略   空格   

原文地址:http://www.cnblogs.com/perl6/p/7414275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!