JavaScript 正则表达式

1、字符类

字符型 释义 举例
[…] 匹配方括号内字符序列的任意一个字符,可以使用连字符”-“匹配指定范围的任意字符。 /[012]/ 可以与0A1B2C中字符0或1或2匹配; /[0-5]/ 可以与a3df234df4412中0-5之间任意数字字符匹配。
[^…] 匹配方括号中字符序列未包含的任意字符,其中可以使用连字符“-”匹配不在指定范围内的任意字符。 /[^012]/ 可以与0A1B2C中除了0或1或2之外的任意字符匹配;/[^a-z]/ 可以与a3df234df4412中不在小写字母a-z之间任意数字字符匹配
. 匹配除了换行和回车之外的任意一个字符,相当于[^\r\n]
\d 匹配任意一个数字字符,相当于[0-9] /\d/ 可以匹配wy3k中的3
\D 匹配任意非数字字符,相当于[^0-9] /\D/ 可以匹配wy3k中的w或y或k
\s 匹配任意空白字符,如空格、制表符、换行符等,相当于[\t\n\x0B\f\r] /\s\d/ 可以匹配my age is 20. 中的2(因为只匹配一个字符)。
\S 匹配任意非空白字符,相当于[^\t\n\x0B\f\r] /\S/ 可以匹配A B中的A或B
\w 匹配任何英文字母、数字字符以及下划线,相当于[a-zA-Z0-9_] /\w/ 可以匹配shadf65dad668_$@#中的字母、数字、下划线中的一个字符

2、量词

字符型 释义 举例
? 匹配前一项0次或1次 /JS?/ 可以匹配JScript中的JS或者JavaScript中的J(S可出现0次或1次就满足条件)
+ 匹配前一项的一次或多次,但至少要出现一次 /JS+/ 可以匹配JS,也可以匹配JSSSS或者JSS。
* 匹配前一项0次或者多次,也就是任意次 /bo*/ 可以匹配b、bo、boo、boooo。
{n} 匹配前一项恰好是n次,其中n为非负整数 /o{2}/ 可以匹配book中的两个o,也可以匹配boooook中的任意两个连续的o。
{n,} 匹配前一项至少n次 /o{2,}/ 不能匹配home中的o,因为至少要匹配两个o,所以可以匹配good或者goooood中的所有o。
{n,m} 匹配前一项至少n次,但不能超过m次,其中n、m是非负整数,并且n<=m /o{2,5}/ 可以匹配book中的两个o,也可以boook和boooook中的o。

在使用{n,m}时,数字和逗号之间不能有空格符。

3、指定匹配位置

字符型 释义 举例
^ 起始位置,匹配字符串的行开头,^必须出现在制定字符串的最前面才起作用。 /^g/ 匹配good中的g,但不匹配bag中的g。
$ 结束位置,匹配字符串的行结尾,$必须出现在指定字符串的最后面才起作用。 /g$/ 匹配bag中的g,但不匹配good中的g。
\b 匹配单词的边界 /e\b/ 匹配“I love seek”中love的e,不匹配seek中的e。
\B 匹配单词的非边界 /e\B/ 匹配“I love seek”中seek的e,不匹配love中的e。

4、使用选择匹配符

正则表达式的选择匹配符只有一个”|”,使用”|”可以匹配指定的多个选项中的任意一项。

例如:

字符型 释义
/World|Dream/ 可以匹配“One World One Dream”中的World或Dream

5、分组

分组就是使用小括号将多个单独的字符或字符类组合成子表达式,以便可以像处理一个独立的单元那样,用”|”、“*”、“+”或“?”等来处理。

例如:

字符型 释义
/J(ava)?Script/ 可以匹配JavaScript,也可以匹配JScript

你可能感兴趣的:(javascript)