zoukankan      html  css  js  c++  java
  • 正则化

    1.d  代表任意一个数字  D代表任意字母 s 表示所有长得像空格的东西,包括换行

    2.w 代表数字,字母和下划线

    3. *匹配前一个字符0或者无限次 (贪婪字符,但凡有就要一直去下去,?是有节制的) .匹配除换行符以外的所有字符  g全局匹配

    4. [] 自定义正则化,每个字母代表一个值    [^ ] 取反

    5. {n} 前面匹配符重复出现n次

    6. +:至少匹配一次(有多少个取多少个,至少取一个)  ?:0-1次  *:0-max

    7.完整匹配而不是子集,^[]表示开始匹配  $持续匹配到结束

    eg: str='18312345678'; r=str.match(/1^[3589]d{9}$/)

    8.匹配特殊字符,匹配时候需要加转意符

    eg: str='153^.' ; r=str.match(/^./)

    9.条件分支 |  ;()括号中的内容成为一个独立的内容,括号里的内容可以单独分组,单独匹配(如果不需要可以在括号前面加上?:,如果设置了^ &括号的分组功能会消失

    eg: str='123.png' ; r=str.match(/.+.(?:png|gif|jp?g)$/)

    m=re.match(r'(w+)  (w+)(?P<sign>.*)', 'hello world')

    #分组功能(...)*1  其中1表示的就是前面括号中的字母或数字,例如barbar, allohall都满足这个正则

    10.数值的匹配 把合法的数值写出并分析规律, 根据规律编写正则,并测试非法数值

    str='-12.34E23';

    r=str.match(/^(-?)(0|[1-9]d*)(.d+)?([eE][-+]?d+)?$/)

    11.中文的处理 默认中文采用的是双字节,在计算机中通过ASCII对应表来输入汉字,通过[]来设置中文的范围 escape()可以将字符串

    eg: str='hello 中国'   r=str.match(/[u4E00- 9FA5]/g)

    12. 贪婪与懒惰: 在正则中默认是贪婪模型(尽可能多的匹配),可以在修饰数量的匹配符后面加上?则代表懒惰

    eg: str='aabab'  r=str.match(/a.* ? b/)   

    正则里面(?:   )代表它是个大括号,[ ]代码的是里面任何一个,比如下面那个emoticons_str里面,第一个[ ]里面就是可能是: = ,第二个里面可能是- o,后面有个问号代表可以出现或不出现,第三个里面可能是P p D等,其实就是整个是描述表情符:-p :p :D这些。

  • 相关阅读:
    IOS-UI- UIScrollView 滚动视图(1)
    git实用攻略(二)
    git实用攻略
    一些技术发展和职业规划的建议
    Spring Data JPA 事务
    配置Slf4j依赖,桥接各种多个日志组件(排除commons-logging依赖的影响)
    Apache Shiro去掉URL中的JSESSIONID
    浏览器缓存介绍之sessionStorage、localStorage、Cookie
    【转】大数据批处理框架 Spring Batch全面解析
    ssl和https协议详解
  • 原文地址:https://www.cnblogs.com/fionacai/p/6073809.html
Copyright © 2011-2022 走看看