正则表达式

<span style="font-size:24px;">关于正则表达式的一点总结。
1、纯文本也算正则表达式,区分大小写。
2、“.”用于匹配任何单个字符,可以是'.'本身。
	c.t匹配到cat,cot。
3、转义字符'\'用于特殊字符转义成一般字符(不严谨,\1表示第一个子表达式等)。
4、匹配多个字符中的某一个。
	[a-zA-Z0-9],
	[0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
5、取非匹配。
	[^0-9]表示除了这里给定的字符(0123456789)都可以。
6、转义字符。
	[\b]	回退并删除一个字符(Backspace)
	\f	换页
	\n	换行
	\r	回车
	\t	制表
	\v	垂直制表
	\d	数字
	\D	非数字
	\w	字母和数字下划线,[a-zA-Z0-9_]
	\W	对\w取非,非字母数字或非下划线,[^a-zA-Z0-9_]
	\s	空白字符[\f\n\r\t\v]
	\S	非空白字符
	\x	十六进制\x0A对应于ASCII的10,也就是\n
7、POSIX字符类
	[:alnum:]	字母或数字[a-zA-Z0-9]
	[:alpha:]	字母[a-zA-Z]
	[:blank:]	空格或制表符[\t ]//t后有一个空格
	[:cntrl:]	ASCII控制字符(ASCII的0-31和ASCII 127)
	[:digit:]	数字[0-9]
	[:graph:]	和[:print:]一样,但不包括空格
	[:lower:]	小写字母[a-z]
	[:print:]	可打印字符
	[:punct:]	既不属于[:alnum:]也不属于[:contrl:]的任何字符
	[:space:]	空白字符,包括空格[\f\n\r\t\v ]//v后有空格
	[:upper:]	大写字母[A-Z]
	[:xdigit:]	十六进制数字[a-fA-F0-9]
8、匹配一个或多个字符‘+’
	\w+,[0-9]+
9、匹配零个或多个字符‘*’
	\w+[\w\.]*@[\w\.]+\.\w+
10、匹配零个或一个字符‘?’
	https?://[\w./]+
11、匹配的重复次数{}
	#[[:xdigit:]]{6}
	\d{1,2}[-\/]\d{1,2}[-\/]\d{2,4}
	\d+: \$\d{3,}\.\d{2}
12、防止过度匹配,在贪婪型元字符后加‘?’
	*	*?
	+	+?
	{n,}	{n,}?
13、单词边界\b,非边界\B,字符串边界开头'^',字符串结尾'$',分行匹配模式(?m)
	\bcat\b
	\B-\B
	^\s*<\?xml.*\?>
	(?m)^\s*//.*$
14、支持子表达式
	(\d{1,3}\.){3}\d{1,3}
	(19|20)\d{2}
	(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(1[0-4]\d)|(25[0-5]))
15、回溯引用匹配
	[ ]+(\w+)[ ]+\1
16、向前查找模式'?='
	.+(?=:)	//http:www.google.com
17、向后查找'?<='
	(?<=\$)[0-9.]+	//hello : $23.32
	(?<=<[tT][iI][tT][lL][eE]>).*(?<=</[tT][iI][tT][lL][eE]>)
18、对前后查找取非
	(?=)		(?!)
	(?<=)	(?<!)
	\b(?<!\$)\d+\b
19、嵌入条件(略)
</span>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值