正则表达式常用规则及解释

92 阅读1分钟

正则表达式是一种强大的文本匹配和处理工具,用于模式匹配、搜索、替换等操作。下面是一些常用的正则表达式规则及其解释:

  1. .

    • 匹配任何单个字符(除了换行符)。
  2. 星号 *

    • 匹配前面的子表达式零次或多次。
  3. 加号 +

    • 匹配前面的子表达式一次或多次。
  4. 问号 ?

    • 匹配前面的子表达式零次或一次。
  5. 大括号 {n,m}

    • 匹配前面的子表达式至少n次,至多m次。
  6. 方括号 []

    • 表示一个字符集合,匹配其中任意一个字符。
  7. 反斜杠 \

    • 用于转义特殊字符,比如\.匹配一个点字符,而不是任何字符。
  8. 竖线 |

    • 表示选择,匹配竖线两边的任意一个表达式。
  9. 圆括号 ()

    • 用于分组和捕获,可以改变优先级,也用于提取匹配的部分。
  10. 锚定符 ^$

    • ^匹配字符串的开始位置。
    • $匹配字符串的结束位置。
  11. 单词边界 \b

    • 匹配单词的边界,即字母、数字到空白符或非字母、数字之间的转换。
  12. 反向单词边界 \B

    • 相反于\b,匹配非单词边界的位置。
  13. 重复前导符 ?, +, * 的限定符 ?, {n,m}, {n,}, {,m}

    • 改变重复次数的贪婪度,例如.*?是非贪婪的,会尽可能少地匹配。
  14. 字符类

    • \d 数字 [0-9]
    • \D 非数字 [^\d]
    • \w 单词字符 [a-zA-Z0-9_]
    • \W 非单词字符 [^\w]
    • \s 空白字符 [ \t\n\r\f\v]
    • \S 非空白字符 [^\s]
  15. 预查与回顾

    • 正向肯定预查 (?=...)
    • 正向否定预查 (?!...)
    • 反向肯定预查 (?<=...)
    • 反向否定预查 (?<!...)