正则表达式的用法

正则表达式的作用主要有三:

  • 验证数字是否符合特定模式;
  • 利用正则表达式找到特定文本而后删除或者替换文本;
  • 按模式匹配在字符串中查找查找匹配子字符串。

正则表达式就是有普通字符以及特殊字符(称为元字符)组成的文字模式。元字符前面的字符称为前导符,元字符按功能又分为限定符、定位符等类别,下面对常用的元字符进行列表说明。

常见元字符

说明

\s 匹配单个空格,包括tab键和换行符

\S 匹配出单个空格符之外的所有字符,\S与\s互为逆运算

\d 匹配从0~9的数字

\w 匹配字母,数字或者下划线字符

\W 匹配所有与\w不匹配的字符,\W与\s互为逆运算

\cx 匹配由x指明的控制字符。
 
\f 匹配一个换页符,等价与\x0c和\cL

\n 匹配一个换行符,等价于\x0a和\cJ

\r 匹配一个回车符,等价于\x0d和\cM

\t 匹配一个制表符,等价于\x09和\cI

\v 匹配一个垂直制表符。等价于\x0b和\cK

. 用于匹配除换行符之外的所有字符

常见限定符说明

* 匹配前导字符出现零次或者多次

+ 匹配前导字符出现一次或者多次

? 匹配前导字符出现零次或者一次

{n} 匹配前导字符出现n次,n>=0;

{n,} 匹配前导字符至少出现n次,n>=0;

{n,m} 匹配前导字符至少出现n次,最多出现m次;m>n>=0;

定位符说明

^ 匹配模式必须出现在目标字符串开头

$ 匹配模式必须出现在目标的结尾

\b 匹配模式必须出现在目标字符串的开头或者结尾的两个边界之一

\B 匹配对象必须位于目标字符串的开头和结尾的两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾

正则表达式匹配模式的范围指定符

[] 限定的模式指定了其中一个字符的出现的可能。如/[A-Z]/表示匹配从A到Z任何一个字符;

() 限定的模式指定()里包含的内容必须同时出现在对象中。如/(abc)[0-9]/意思是目标字符串中出现的abc1,abc2...abc9中9个中的任何一个,而不是ab1,a2等;

| 类似于逻辑运算中的“或”运算,如:/sb|a/表示与目标对象的"sb","a"中任何一个相匹配;

当^符出现在[]中时,表示取否定运算。
 
字符转义与优先级顺序

在匹配模式需要使用元字符时,需要使用转移字符“\+元字符”表示,如查找“12*”模式,我们可以使用/12\*/表示;
 
正则表达式在匹配过程中是按照从左向右的顺序进行的,其操作符具有一定的优先级顺序
 
 
优先级顺序

优先级  操作符                      说明

1      \                            转义符

2    (),(?:),(?=),[]              圆括号和方括号

3    *,+,?,{n},{n,},{n,m}          限定符

4    ^,$,\anyMatchcharacter        位置顺序

5      |                            或操作

相关推荐