正则表达式又称规则表达式,英语:Regular Expression,在代码中常简写为regex\regexp\RE,作为计算机科学的一个概念,正则表达式通常被用来检索、替换那些符合某个规则的文本,是对字符串进行操作的一种逻辑公式。
1、可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
2、 基于模式匹配从字符串中提取子字符串。
3、可以查找文档内或输入域内特定的文本。
| 符号 | 解释 | 示例 | 说明 | ||
|---|---|---|---|---|---|
| . | 匹配任意字符 | b.t | 可以匹配bat / but / b#t / b1t等 | ||
| \w | 匹配字母/数字/下划线 | b\wt | 可以匹配bat / b1t / b_t等但不能匹配b#t | ||
| \s | 匹配空白字符(包括\r、\n、\t等) | love\syou | 可以匹配love you | ||
| \d | 匹配数字 | \d\d | 可以匹配01 / 23 / 99等 | ||
| \b | 匹配单词的边界 | \bThe\b | 可以匹配The | ||
| ^ | 匹配字符串的开始 | ^The | 可以匹配The开头的字符串 | ||
| $ | 匹配字符串的结束 | .exe$ | 可以匹配.exe结尾的字符串 | ||
| \W | 匹配非字母/数字/下划线 | b\Wt | 可以匹配b#t / b@t等,但不能匹配but / b1t / b_t等 | ||
| \S | 匹配非空白字符 | love\Syou | 可以匹配love#you等,但不能匹配love you | ||
| \D | 匹配非数字 | \d\D | 可以匹配9a / 3# / 0F等 | ||
| \B | 匹配非单词边界 | \Bio\B | |||
| [] | 匹配来自字符集的任意单一字符 | [aeiou] | 可以匹配任一元音字母字符 | ||
| [^] | 匹配不在字符集中的任意单一字符 | [^aeiou] | 可以匹配任一非元音字母字符 | ||
| * | 匹配0次或多次 | \w* | |||
| + | 匹配1次或多次 | \w+ | |||
| ? | 匹配0次或1次 | \w? | |||
| {N} | 匹配N次 | \w{3} | 可以匹配aaa,abc,cba | ||
| {M,} | 匹配至少M次 | \w{3,} | 可以匹配aaaaa,abduns | ||
| {M,N} | 匹配至少M次至多N次 | \w{3,6} | |||
| \ | 分支 | foo\ | bar | 可以匹配foo或者bar | |
| (?#) | 注释 | ||||
| (exp) | 匹配exp并捕获到自动命名的组中 | ||||
| (? |
匹配exp并捕获到名为name的组中 | ||||
| (?:exp) | 匹配exp但是不捕获匹配的文本 | ||||
| (?=exp) | 匹配exp前面的位置 | \b\w+(?=ing) | 可以匹配I’m dancing中的danc | ||
| (?<=exp) | 匹配exp后面的位置 | (?<=\bdanc)\w+\b | 可以匹配I love dancing and reading中的第一个ing | ||
| (?!exp) | 匹配后面不是exp的位置 | ||||
| *? | 重复任意次,但尽可能少重复 | ||||
| +? | 重复1次或多次,但尽可能少重复 | ||||
| ?? | 重复0次或1次,但尽可能少重复 | ||||
| {M,N}? | 重复M到N次,但尽可能少重复 | ||||
| {M,}? | 重复M次以上,但尽可能少重复 |