正则表达式符号汇总

简介: 正则表达式符号汇总
字符 含义 举例
. 匹配任意一个字符 abc. -> abcd或abc6…
[] 匹配[]中的任意一个字符 [abc]d -> ad、bc、cd
- 在[]内表示字符范围 [0-9a-fA-F]-> 一位16进制数
^ 位于[]内的开头,匹配除括号以外的任意一个字符 [^xy]->匹配除x y外的任意一个字符
  • \w 匹配任何字母``数字``下划线字符
  • \d 匹配任何十进制数字
  • \s 匹配任意空格字符
符号 替换正则 匹配
\d [0-9] 数字字符
\D [^0-9] 非数字组合
\w [a-zA-Z0-9_] 数字字母下划线
\W [^\w] 非数字字母下划线
\s [\r\t\n\f] 表格,换行等空白区域
\S [^\s] 非空白区域

特殊符号

字符 含义 举例
\ 转义字符,普通字符转义为特殊字符,特殊字转义为普通字符 普通字符<写成<表示开头位置
() 将正则表达式的一部分括起来组成一个单元,可以对整个单元使用数量限定符 ([0-9]{1,3}.){3}[0-9]{1,3} -> 匹配正则表达式
` ` 连接两个子表达式,表达或的关系
| 从多个模式中选择其一,类似于逻辑或 cpp|java|python

数量限定符

  • *将匹配其左边的正则表达式出现零次多次的情况。
  • +将匹配其左边的正则表达式出现一次多次的情况。
  • 将匹配其左边的正则表达式出现零次一次的情况。
  • {M}将匹配其左边的正则表达式出现M次的情况。
  • {M,N}将匹配其左边的正则表达式出现M到N次的情况。
  • {M,}将匹配其左边的正则表达式出现M次更多次的情况。

位置限定符

字符 含义 举例
^ 匹配行首的位置 ^Content -> 匹配位于一行开头的Content
$ 匹配行末的位置 ;$ -> 匹配位于一行结束的; ^$ -> 匹配空行
< 匹配单词开头的位置 <th -> 匹配 th…
> 匹配单词结尾的位置 p> -> 匹配 …p
\b 匹配单词开头或结尾的位置 \bat -> 匹配at…或…at
\B 匹配非单词开头或结尾的位置 \Bat -> 匹配…at…
  • ^或\A接字符串,表示以该字符串开始(区别:^匹配一行的开始,\A匹配输入的开始)
  • $或\Z接字符串,表示以该字符串结尾(同上)
  • \b接字符串,表示以该字符串开始(区别于^和\A:匹配一个单词起始部分,不管该单词前面是否有任何字符。通俗来说:^匹配字符串的开始\b匹配单词的开始
  • \B接字符串,表示以该字符串为子串但不是边界

贪婪模式与非贪婪模式

  1. 贪婪模式:正则表达式匹配时,会尽量多的匹配符合条件的内容
  2. 非贪婪模式:正则表达式匹配时,会尽量少的匹配符合条件的内容,也就是说,一旦发现匹配符合要求,立马就匹配成功,而不会继续匹配下去(除非有g,开启下一组匹配)

常用

符号 描述 表达式例子 校验内容 例子结果
. 匹配一个字符且仅限一个字符 a.c abc 共 1 个匹配项
\d 匹配任意个数字 \d 123464 共 6 个匹配项
\w 匹配一个字母、数字或下划线,w的意思是word(不能匹配#、空格等字符) \w gddgfdh 共 7 个匹配项
\s 可以匹配一个空格字符,空格字符不但包括空格,还包括tab字符 a\sc a c 共 1 个匹配项
\D 匹配一个非数字 00\D 007 没有匹配结果
\W 匹配\w不能匹配的字符
\S 匹配\s不能匹配的字符
* 匹配任意个字符,包括0个字符 A\d* A380 共 1 个匹配项
+ 匹配至少一个字符 A\d+ A380 共 1 个匹配项
? 匹配0个或一个字符 A\d? A 共 1 个匹配项
{n} 精确匹配n个字符 A\d{3} A380
{n,m} 精确匹配n~m个字符 A\d{3,5} A38000 共 1 个匹配项
^ 表示开头 ^A\d{3} A3800000000 共 1 个匹配项
$ 表示结尾 ^A\d{3}$ A3800000000 没有匹配结果
[…] 匹配指定的范围 1-9:[1-9] a-f:[a-f] A-F:[A-F] 排除法:即不包含指定范围的字符用^表示 [^1-9]{3} [123456789]\d{6,7} 1234567 共 1 个匹配项
或规则匹配 可以提取公共部分后采用括号包裹的方式匹配 (java | php | go) java、learn php AB丨CD
(…) 分组匹配 例:区号-电话号匹配规则^(+\d{2})-(\d{11})$,括号分组 ^(+\d{2})-(\d{11})$ +86-18000000000 共 1 个匹配项


相关文章
|
5月前
|
机器学习/深度学习 前端开发 Windows
【夯实技术基本功】「底层技术原理体系」全方位带你认识和透彻领悟正则表达式(Regular Expression)的开发手册(正则符号深入解析 )
【夯实技术基本功】「底层技术原理体系」全方位带你认识和透彻领悟正则表达式(Regular Expression)的开发手册(正则符号深入解析 )
65 0
|
5月前
|
JavaScript 前端开发
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
|
JavaScript 前端开发 索引
javascript截取两个符号之间的字符串(2):lastIndexOf匹配和正则表达式匹配
javascript截取两个符号之间的字符串(2):lastIndexOf匹配和正则表达式匹配
373 0
|
12月前
|
机器学习/深度学习 JavaScript 前端开发
正则表达式符号含义
正则表达式符号含义
70 0
|
监控 Python
一日一技:批量转义正则表达式中的特殊符号
一日一技:批量转义正则表达式中的特殊符号
92 0
正则表达式去除空格、符号,只保留中文、英文、数字
正则表达式去除空格、符号,只保留中文、英文、数字
778 0
|
机器学习/深度学习
【关于正则表达式的特殊符号的处理】之前自己在提取一个表达式一直提取不到,后来解决了,记录下知识点
1.开始的表达式:"drugLicenseCompanyperson":[{"pk":"(.*?)" 2.修改后的表达式:"drugLicenseCompanyperson":\[\{"pk":"(.*?)"
C#编程:正则表达式符号说明-7
C#编程:正则表达式符号说明-7
103 0
C#编程:正则表达式符号说明
C#编程:正则表达式符号说明
175 0