常用正则表达式速查表

元字符(配匹字符串用)

字符 补集(相反的)
.除换行符(\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 (匹配多个字符,字符量大时不适用)

负向零宽断言

表达式说明示例
(?=内容)断言自身出现的位置的后面能匹配表达式expI'm singing while you're dancing   表达式:\b\w+(?=ing)
结果:sing      danc
(?<=内容)断言自身出现的位置的前面能匹配表达式expreading a book                           表达式:(?<=\bre)\w+\b
结果:ading (匹配到reading中的ading)
(?!内容)断言自身出现的位置的后面非内容mybook myhome   表达式:my(?!home)
结果:my(注:只匹配到mybook只的my)
(?<!内容)断言自身出现的位置的前面非内容同上只是在前面

 

特殊配匹字符

符号说明示例
|逻辑"或"aabbbcccc  c+|a+ 结果:aa    cccc
\转义符\用于转换做用
\r回车符 
\n换行符 
\v竖向制表符 
\f换页符 
\t制表符,Tab 
\b通常是单词分界位置,但如果在字符类里使用代表退格 
\eEscape 
\a报警字符(打印它的效果是电脑嘀一声) 
\0nnASCII代码中八进制代码为nn的字符 
\xnnASCII代码中十六进制代码为nn的字符 
\unnnnUnicode代码中十六进制代码为nnnn的字符 
\cNASCII控制字符。比如\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

注:[]表示单个匹配 如:[0-9]匹配0到9             [^ab]匹配非a和b的字符

       ()表示匹配组 ,()本身不匹配任何东西,也不限制匹配任何东西,只是把括号内的内容作为同一个表达式来处理 例如(ab){1,3},就表示ab一起连续出现最少1次,最多3次

转载于:https://www.cnblogs.com/praybb/p/6306653.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值