zoukankan      html  css  js  c++  java
  • 正則表達式小结

    经常使用元字符
    代码 说明
    . 匹配除换行符以外的随意字符
    w 匹配字母或数字或下划线或汉字
    s 匹配随意的空白符
    d 匹配数字
     匹配单词的開始或结束
    ^ 匹配字符串的開始
    $ 匹配字符串的结束

    经常使用限定符
    代码/语法 说明
    * 反复零次或很多其它次
    + 反复一次或很多其它次
    ?

    反复零次或一次
    {n} 反复n次
    {n,} 反复n次或很多其它次
    {n,m} 反复n到m次

    经常使用反义词

    代码/语法 说明
    W 匹配随意不是字母,数字。下划线,汉字的字符
    S 匹配随意不是空白符的字符
    D 匹配随意非数字的字符
    B 匹配不是单词开头或结束的位置
    [^x] 匹配除了x以外的随意字符
    [^aeiou] 匹配除了aeiou这几个字母以外的随意字符



    对当中的 经常使用限定符做一些解释。

    * 反复零次或多次。准确的讲应该是“零次或多次匹配前面的字符或子表达式”。比如,zo* 匹配“z”和“zoo”。

    * 等效于 {0,}。

    为什么会匹配"z",由于会匹配去掉前一个字符的子表达式。即“z” ,假设是zmmo*,那么会匹配zmm和zmmo两个表达式,且反复零次到多次。

    + 一次或多次匹配前面的字符或子表达式。比如,“zo+”与“zo”和“zoo”匹配。但与“z”不匹配。+ 等效于 {1,}。

            ? 零次或一次匹配前面的字符或子表达式。比如,“do(es)?”匹配“do”或“does”中的“do”。?

    等效于 {0,1}。

            ? 当此字符紧随不论什么其它限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串。而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。比如,在字符串“oooo”中,“o+?

    ”仅仅匹配单个“o”。而“o+”匹配全部“o”。

    还有须要注意的是“”,将下一字符标记为特殊字符、文本、反向引用或八进制转义符。比如,“n”匹配字符“n”。“ ”匹配换行符。序列“\”匹配“”。“(”匹配“(”。

  • 相关阅读:
    未能加载文件或程序集BUG系列
    寄语
    65. Valid Number
    56. Merge Intervals
    sublime text3 anaconda 插件报错
    42. Trapping Rain Water
    windows 下win+r无效
    93. Restore IP Addresses
    32. Longest Valid Parentheses
    48 Rotate Image
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6711078.html
Copyright © 2011-2022 走看看