博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用正则表达式速查表
阅读量:4647 次
发布时间:2019-06-09

本文共 1671 字,大约阅读时间需要 5 分钟。

元字符(配匹字符串用)

字符   补集(相反的)
. 除换行符(\n)以外的任意字符 \n(换行)
\w 单词字符 (指大小写字母、0-9的数字、下划线、汉字) \W
\d 数字(0-9) \D(非数字)
\s 空白字符(空白字符,包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f) \S
.* 匹配任意文本,不包括回车(\n)?  
[内容] 匹配括号内的列出的字符| [^内容]     (匹配非[]内所列出的字符)

定位字符

表达式 说明 相反的
^ 表示待匹配串的开始位置(如:acute 可以用^ac),在[]内为非  
$ 表示待匹配串的结束位置 (如:acute 可以用te$)  
\b 单词的边界 (可以替换"^""$"使用 如 \bac 或 te\b) \B 义不在首位与未尾 (如acute \Bcu 与ut\

重复描述字符

表达式 说明 示例
{n} 前面的字符n次 aabbbcccc   a{2}  结果:aa
{n,} 前面的字符n次或以上 aabbbcccc   b{2,} 结果:bbb  b{4,} 无结果
{n,m} 前面的字符n-m次 aabbbcccc   b{2,3} 结果:bbb , b{4,5} 无结果
? 前面的字符0-1次 aabbbcccc   aaa?bb 结果:aabb  (即可能存在的意思)
+ 前面的字符1或以上 aabbbcccc   c+  结果:cccc  (一定存在1次,或以上)
* 前面的字符0或以上 aabbbcccc   a* 结果aa  c*结果cccc (匹配多个字符,字符量大时不适用)

负向零宽断言

表达式 说明 示例
(?=内容) 断言自身出现的位置的后面能匹配表达式exp I'm singing while you're dancing   表达式:\b\w+(?=ing\b) 
结果:sing      danc
(?<=内容) 断言自身出现的位置的前面能匹配表达式exp reading a book                           表达式:(?<=\bre)\w+\b
结果:ading

 

特殊配匹字符

符号 说明 示例
| 逻辑"或" aabbbcccc  c+|a+ 结果:aa    cccc
\ 转义符 \用于转换做用
\r 回车符  
\n 换行符  
\v 竖向制表符  
\f 换页符  
\t 制表符,Tab  
\b 通常是单词分界位置,但如果在字符类里使用代表退格  
\e Escape  
\a 报警字符(打印它的效果是电脑嘀一声)  
\0nn ASCII代码中八进制代码为nn的字符  
\xnn ASCII代码中十六进制代码为nn的字符  
\unnnn Unicode代码中十六进制代码为nnnn的字符  
\cN ASCII控制字符。比如\cC代表Ctrl+C  
\A 字符串开头(类似^,但不受处理多行选项的影响)  
\Z 字符串结尾或行尾(不受处理多行选项的影响)  
\z 字符串结尾(类似$,但不受处理多行选项的影响)  
\G 当前搜索的开头  
\p{name} Unicode中命名为name的字符类,例如\p{IsGreek}  
(?>exp) 贪婪子表达式  
(?<x>-<y>exp) 平衡组  
(?im-nsx:exp) 在子表达式exp中改变处理选项  
(?im-nsx) 为表达式后面的部分改变处理选项  
(?(exp)yes|no) 把exp当作零宽正向先行断言,如果在这个位置能匹配,使用yes作为此组的表达式;否则使用no 逻辑与IF...the..else..相同意义
(?(exp)yes) 同上,只是使用空表达式作为no 逻辑IF...the..
(?(name)yes|no) 如果命名为name的组捕获到了内容,使用yes作为表达式;否则使用no  
(?(name)yes) 同上,只是使用空表达式作为no  

正则测试工具http://files.cnblogs.com/files/praybb/RegexTester.rar

转载于:https://www.cnblogs.com/lishanyang/p/6604318.html

你可能感兴趣的文章
MySQL基础
查看>>
Largest Rectangle in a Histogram
查看>>
仿QQ右下角弹出可关闭的消息框: 转载
查看>>
ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。...
查看>>
Unity 游戏框架搭建 (二十三) 重构小工具 Platform
查看>>
软件工程结对作业02
查看>>
【设计模式】策略模式与状态模式。
查看>>
Eclipse经验总结
查看>>
(转)[Unity3D]UI方案及制作细节(NGUI/EZGUI/原生UI系统) 内附unused-assets清除实例
查看>>
免费收录网站搜索引擎登录口
查看>>
配置Nginx反向代理服务器
查看>>
浅析敏捷开发与传统软件开发的区别
查看>>
常见排序算法总结与实现(冒泡、插入、选择、希尔、堆排序、归并、快排)
查看>>
newInstance() 的参数版本与无参数版本
查看>>
hihoCoder 1631 Cats and Fish(ACM-ICPC北京赛区2017网络同步赛)
查看>>
Java
查看>>
GIS-003-在线地图下载及应用
查看>>
XCODE 6 经常报错 “Could not inspect the application package”
查看>>
vue插件 vue-seamless-scroll 无缝滚动插件ES6使用总结
查看>>
C# Cast
查看>>