您的位置:首页 > Web前端 > JavaScript

js正则表达式基本用法

2017-07-27 14:00 204 查看
一个正则表达式是由普通字符(如a~z)以及特殊字符(称为元字符)组成的模式字符串。

该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一

个模板,将某个字符模式与所搜索的字符串进行匹配。

1、字符类

[...] 匹配方括号中字符序列的任意一个 /[012]/可以与0A1B2C中的字符0或1或2匹配

字符。其中可以使用连字符"-"匹配 /[0-5]/可以与a3g02gsf91dfs4中的0到5

指定范围内的任意字符。 之间的任意数字字符匹配

[^...] 匹配方括号中字符序列未包含的任意 /[^012]/可以与0A1B2C中的除0、1、2

字符。其中可以使用连字符"-"匹配不 之外的任意字符匹配,在这里匹配A或B或C

在指定范围内的任意字符。 /[^a-z]/可以与a3g02gsf91dfs4不在小写

字母a-z之间的任意字符匹配。

. 匹配除了换行和回车之外的任意字符, 无

相当于[^\r\n]

\d 匹配任意一个数字字符,相当于[0-9] /\d\d/可以匹配wy32k中的32

\D 匹配任意非数字字符,相当于[^0-9] /\D/可以匹配wy3k中的w或y或k

\s 匹配任意空白字符,如空格、制表符、 /\s\d\d/可以匹配my age is 20.中的 20

换行符等,相当于[\t\n\x0B\f\r] 注意2前面的空格。

\S 匹配任意非空白符,相当于[^\t\n\x0B\f\r] /\S/可以匹配A B中的A或B

\w 匹配任何英文字母、数字字符以及下划线, /\w/可以匹配shdf82w09_+&^中的字母、

相当于[a-zA-Z0-9_] 数字、下划线

2、量词

代码 说明 示例

? 匹配前一项0次或1次 /JS?/可以匹配JScript中的JS或者JavaScript中

的J

匹配前一项1次或多次, /JS+/可以匹配JS,也可以匹配JSSSS或者JSSSSSS,

但至少出现1次 也就是说可以匹配J后面出现一个或多个S。

匹配前一项0次或者多次, /bo*/可以匹配b、bo、boo、boooo之类的字符串

也就是任意次

{n} 匹配前一项恰好n次,其中n为 /o{2}/可以匹配book中的两个o,也可以匹配booook

非负整数 中任意两个连续的o

{n,} 匹配前一项至少n次 /o{2,}/不匹配home中的o,因为至少要匹配两个o。

所以可以匹配good或者gooooood中的所有o

{n,m} 匹配前一项至少n次,但不能 /o{2,5}/可以匹配book中的两个o,也可以匹配

超过m次,其中n、m是非负整 boooook中的5个连续的o

数,并且n<=m

在使用{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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: