正则表达式总结

正则表达式总结

练习查询网站https://regexr-cn.com/

入门

1、字符组([ ])允许匹配一组可能出现的字符

ex:[Pp]ython = Python python

		[0-9a-zA-Z] 区间

		[\\-] [.] [\\(] 特殊字符转义

		[^a-z]	不含有
                                    

2、快捷匹配

\w	与任意单词字符匹配,任意单词字符表示 [A-Z]、 [a-z]、[0-9]、_
\d	与任意数字匹配
\s  空格
\bmaster\b	边界

3、数量格式匹配

^指定的是一个字符串的开始,$指定的是一个字符串的结束。

.字符代表匹配任何单个字符

?零次或一次	*零次或多次 +一次或多次

{M,N},M是下界而N是上界(左闭右闭)	{3,4} {3,}

高级

1、分组

()	捕获分组提取

|	或		(.jpg|.png)

(?:表达式)   非捕获分组,不捕获数据,还能使用分组的功能。

() \n	回溯引用	<(\w+)></\1>  \1引用第一个分组

2、先行断言

(?=表达式)		正向先行断言: 在某个位置向右看,表示所在位置右侧必须能匹配表达式	
			  ex:喜欢(?=你)					 喜欢后面有你
				  (?=.*?[a-z])(?=.*?[A-Z]).+	匹配的字符串中必须包含至少一个大写和小写的字母。


(?!表达式)		反先行断言:用是保证右边不能出现某字符		喜欢(?!你)

3、后行断言

(?<=表达式)	正向后行断言:	某个位置向左看,表示所在位置左侧必须能匹配表达式
			  (?<=我)喜欢(?=你)

(?<!表达式)	反向后行断言:	指在某个位置向左看,表示所在位置左侧不能匹配表达式
			  (?<!我)喜欢(?!你)
posted @ 2021-07-06 15:03  `陌上殇`  阅读(52)  评论(0)    收藏  举报