正则表达式速查表

这是一个正则表达式(Regular Expression,简称Regex)的速查表,它列出了正则表达式中常用的符号、量词、字符类、特殊字符、分组和断言的用法。

正则表达式基础

  • ^:匹配字符串的开始位置。
  • $:匹配字符串的结束位置。
  • .:匹配除换行符之外的任意单个字符。
  • |:用于匹配特定的字符或字符组,例如a|b可以匹配ab
  • \:用于转义特殊字符,使其失去特殊意义,被当作普通字符处理。
  • a:匹配字符a
  • ab:匹配字符串ab

量词

  • *:匹配前一个字符0次或多次。
  • ?:匹配前一个字符0次或1次。
  • +:匹配前一个字符1次或多次。
  • {5}:精确匹配前一个字符5次。
  • {5,}:匹配前一个字符至少5次。
  • {5,10}:匹配前一个字符至少5次,但不超过10次。

字符类

  • \s:匹配任何空白字符,包括空格、制表符、换行符等。
  • \S:匹配任何非空白字符。
  • \w:匹配任何字母数字字符,包括下划线。
  • \W:匹配任何非字母数字字符。
  • \d:匹配任何数字字符。
  • \D:匹配任何非数字字符。
  • [\b]:匹配退格字符。
  • \c:匹配控制字符。

特殊字符

  • \n:匹配换行符。
  • \t:匹配制表符。
  • \r:匹配回车符。
  • \ZZZ:匹配八进制表示的字符。
  • \xZZ:匹配十六进制表示的字符。
  • \0:匹配空字符。
  • \v:匹配垂直制表符。

分组

  • (xyz):将字符组合为一个组,用于后续的引用或操作。
  • (?:xyz):非捕获组,用于分组但不保存匹配的内容。
  • [xyz]:匹配方括号内的任一字符。
  • [^xyz]:匹配不在方括号内的任一字符。
  • [a-q]:匹配指定范围内的任一字符。
  • [0-7]:匹配指定范围内的数字。

字符串替换

  • $`:在匹配的字符串之前插入。
  • $':在匹配的字符串之后插入。
  • $+:插入最后一次匹配的内容。
  • $&:插入整个匹配的内容。
  • $n:插入第n个捕获组的内容。

断言

  • (?=xyz):正向前瞻,匹配后面跟有xyz的位置。
  • (?!xyz):负向前瞻,匹配后面不跟有xyz的位置。
  • ?!?<!:负向后顾。
  • \b:单词边界,匹配位于单词字符和非单词字符之间的位置。
  • ?#:注释,用于正则表达式中的注释。

这些符号和结构是构建和理解正则表达式的基础,它们可以用来创建复杂的模式匹配和文本处理规则。

posted @ 2024-06-19 22:18  jigsawecho  阅读(12)  评论(0编辑  收藏  举报