正则表达式快速参考
编辑一些常用的正则表达式
首先放上两个很有用的参考网站:
实际比较重要的几个:中括号[0-9a-z]、小括号()分组、大括号{1,4}个数、^前匹配、$后匹配、|或逻辑。
以下有一个偷来的图:
表达式整理
基于RegexOne网站:
数字匹配
方法:\d
字符\d可以用于替换从0到9的任何数字。前面的斜杠将它与简单的d字符区分开来,并表明它是一个元字符(metacharacter)。
万能匹配
方法:.
. 可以理解为通配符,可以匹配任何单个字符(字母、数字、空格等)。
如果想匹配真正的.字符,需要在前面加上斜杠以表示区别,即**.**
匹配特定字符
方法:[abc]
[] 可以匹配特定的字符。例如:[abc]将只匹配一个字母a, b,或c,和无。
排除特定字符
方法:[^]
在方括号中使用^(hat)可以排除特定字符。例如 [ ^abc]可以匹配除了a,b,c外的任意单个字符。
特定范围内的字符
方法:[0-6], [a-e], [M-W], \w
使用破折号“-”表示范围。例如[0-6]只匹配从0到6的任何单个数字字符,其他字符不匹配。同样地,结合^,[ ^n-p]将只匹配除字母n到p之外的任何单个字符。
其中**\w为元字符,等同于[A-Za-z0-9_],\W等同于[^A-Za-z0-9_]**
匹配多个字符
方法:,{m,n}
使用花括号{}匹配多次结果。例如:a{3}精确匹配a三次。a{1,3}将匹配a1到3次。.{2,6}将匹配任意字符2到6次。
泛多次匹配
方法:*,+
使用Kleene Star “*”匹配0或更多次。
例如\d*表示匹配任意个数的数字。
使用Kleene Plus“+”匹配1或更多次。
例如\d+表示至少有一个数字类型的输入。[abc]+表示1个或多个任意a,b,c字符。
字符可选项
方法:?
使用?表示此项可以作为可选项。例如,ab?c可以匹配“abc”或“ac”,b是作为一个可选项存在的。
同样,要想匹配字符?需要加上斜杠,即?
匹配空格
方法:\s
通常有以下几种空格情况:
- 空格( )
- 制表符(\t)
- 新行(\n)
- 回车符(\r)
它们都可以通过**\s**进行匹配,其可以匹配任意特定的空白。实际等价于 [ \f\n\r\t\v]。
\S则匹配任何非空白字符,等价于 [ ^ \f\n\r\t\v]。
匹配开始/结束特定字符
方法:^, $
使用匹配开始时的特定字符。
例如success来匹配仅仅以success开始的行。
使用$匹配结束时的特定附。
例如love$来匹配以love为结尾的字段。
注意这里的^与上面中括号的[hat符号]表示的含义不同,注意区分。
$还可以作为替换的指代,详细看此文:多种实际使用场景,正则表达式带来丰富可能性
匹配一个组
方法:()
使用()匹配一组特定的字符。例如:^(IMG\d+)\ .png$,其可以将前面部分作为一个整体进行匹配捕获。
同样()是可以进行嵌套的,例如:^(IMG(\d+))\ .png$,前面部分又分成两个整体进行匹配。
()与上面方法结合使用可以带来更好的效果。例如(\d{3})
或逻辑
方法:|
在使用组时,可以用|匹配不同组的字符。例如([cb]ats*|[dh]ogs?),可以匹配cats,bats,dogs,hogs。
不错的例子参考
- 0
- 0
-
分享