zoukankan      html  css  js  c++  java
  • perl6正则 2: 字母,数字,空格,下划线, 字符集

    数字, 字母, 下划线

    在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
    >
  • 相关阅读:
    《自我介绍》
    《结对-结对编项目作业名称-开发环境搭建过程》
    提取图形中指定颜色的所有像素_opencv/c++
    图形锐化_opencv/C++
    Opencv2.4.13 与Visual Studio2013 环境搭建配置
    C++基础——C面向过程与C++面向对象编程01_圆面积求解
    2017年2月26日
    基于GDAL的遥感影像显示(C#版)
    GDAL C# 开发环境配置
    shp文件的读取
  • 原文地址:https://www.cnblogs.com/perl6/p/7414275.html
Copyright © 2011-2022 走看看