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这些。

  • 相关阅读:
    Java SE (3) 之 事件监听
    Java SE (2)之 Graphics 画图工具
    Java SE (1)之 JFrame 组件 GridLayout布局
    解决IIS7中出现An error occurred on the server when processing the URL错误提示的方法
    VS2010中配置C#Project不生成.vhost.exe和.pdb文件的方法
    IIS7和IIS7.5备份和还原的方法
    C# 读取IE缓存文件(2)
    C# 读取IE缓存文件(1)
    raywenderlich的Swift编程风格指南
    Swift和C#的基本语法对比
  • 原文地址:https://www.cnblogs.com/fionacai/p/6073809.html
Copyright © 2011-2022 走看看