正则表达式语法表

2024-08-06 14:48:51 457
正则表达式(Regular Expression,简称 Regex 或 RegExp)是用来描述字符串模式的工具,广泛用于文本处理、搜索和匹配。

特殊字符

  • .:匹配除换行符外的任意字符。
  • ^:匹配字符串的开始位置。
  • $:匹配字符串的结束位置。
  • \:转义字符,用于匹配特殊字符本身。

字符类

  • [abc]:匹配方括号内的任意一个字符。
  • [^abc]:匹配不在方括号内的任意一个字符。
  • [a-z]:匹配小写字母a到z中的任意一个字符。
  • [A-Z]:匹配大写字母A到Z中的任意一个字符。
  • [0-9]:匹配数字0到9中的任意一个字符。

预定义字符类

  • \d:匹配任何数字字符,相当于[0-9]
  • \D:匹配任何非数字字符,相当于[^0-9]
  • \w:匹配任何字母、数字或下划线字符,相当于[a-zA-Z0-9_]
  • \W:匹配任何非字母、非数字和非下划线字符,相当于[^a-zA-Z0-9_]
  • \s:匹配任何空白字符,包括空格、制表符和换行符。
  • \S:匹配任何非空白字符。

量词

  • *:匹配前一个字符零次或多次。
  • +:匹配前一个字符一次或多次。
  • ?:匹配前一个字符零次或一次。
  • {n}:匹配前一个字符恰好n次。
  • {n,}:匹配前一个字符至少n次。
  • {n,m}:匹配前一个字符至少n次,至多m次。

边界匹配

  • ^:匹配字符串的开始。
  • $:匹配字符串的结束。
  • \b:匹配一个单词边界。
  • \B:匹配非单词边界。

分组与引用

  • (abc):匹配括号内的字符序列并捕获匹配。
  • (?:abc):匹配括号内的字符序列但不捕获匹配。
  • \1, \2, ...:引用之前的捕获组。
  • |:匹配符号前或符号后的字符序列。

零宽断言

  • (?=abc):正向肯定断言,匹配abc前的位置。
  • (?!abc):正向否定断言,匹配非abc前的位置。
  • (?<=abc):反向肯定断言,匹配abc后的位置。
  • (?<!abc):反向否定断言,匹配非abc后的位置。

转义字符

  • \:用于转义特殊字符,如\.匹配字符.