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
    >
  • 相关阅读:
    java导出pdf格式文档
    本地文件夹选择框
    将文件解除占用
    Windows 进入上帝模式窗口
    Windows 10 系统获取密钥方法
    CentOS7 systemctl 命令
    一键立即息屏
    定时关闭程序
    CentOS 7 FTP的安装与配置
    SQL基础
  • 原文地址:https://www.cnblogs.com/perl6/p/7414275.html
Copyright © 2011-2022 走看看