美文网首页
正则表达式

正则表达式

作者: cwxyz | 来源:发表于2017-03-27 23:18 被阅读34次

    1. 简介

    又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

    2. 基本语法

    1.1 选择

    | 竖直分隔符代表选择。例如 “gray|grey” 可以匹配 grey 或 gray。

    1.2 数量限定

    • +:加号代表前面的字符必须至少出现一次。(1次、或多次)。例如,“goo+gle” 可以匹配 google、gooogle、goooogle 等。
    • ?:问号代表前面的字符最多只可以出现一次。(0次、或1次)。例如,“colou?r” 可以匹配 color 或者 colour。
    • *:星号代表前面的字符可以不出现,也可以出现一次或者多次。(0次、或1次、或多次)。例如,“0*42” 可以匹配 42、042、0042、00042 等。

    1.3 匹配

    圆括号可以用来定义操作符的范围和优先度。例如,“gr(a|e)y” 等价于 “gray|grey”,“(grand)?father” 匹配 father 和 grandfather。

    3. 表达式全集

    详情查询:表达式全集 - 适用于 Perl 或者 Python 编程语言

    4. 优先级

    优先级 符号
    最高 \
    ( )、(?: )、(?= )、[ ]
    *、+、?、{n}、{n,}、{m,n}
    ^、$、中介字符
    最低

    练习文本:

    abcdefghijklmnopqrstuvwxyz
    
    a bc def ghij klmno pqrstu vwxyz
    
    0123456789
    
    0 12 345 6789 0
    
    这是一段汉字,也是一段中国字。而 且还 是隔开 的 汉字
    
    _   _
    
    ?><:"{}!@#%$&*()+-=';/.,[]\'
    
    ? >< :"{ }!@# %$&*( )+-=' ;/.,[ ]\'
    
    192.168.12.1
    
    249.249.240.195
    
    333.246.244.244
    
    255.255.255.255
    
    1.1.1.1
    
    1.2.3.2555
    
    // 匹配 IP 地址
    \b((1\d{2}|2[0-4]\d|25[0-5]|\d{1,2})\.){3}(1\d{2}|2[0-4]\d|25[0-5]|\d{1,2})\b
    

    结果图:

    匹配结果

    参考

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/ugjdottx.html