JavaScript正则表达式(二)

元字符:

元字符:是在正则表达式中有特殊含义的非字母字符。

一、字符类

1、一般情况下正则表达式一个字符对应字符串中一个字符

例如:表达式 ab\t 的含义是一个ab和水平制表符(一一对应)

2、如果不是希望匹配某个字符,而是某类字符(符合一系列特征)

是指符合某些特征的对象,这是泛指而不是特指某个字符

符号:可以使用  [ ] 符号来构建一个类

例如:表达式 [abc]把字符a、b、c归为一类,表达式可以匹配这类字符

实例:

匹配类[abc]中的一个,替换为X

二、字符类取反

反向类不属于某类的内容

符号:使用元字符 ^ 创建 反向类(负向类)

例如:表达式 [^abc]表示不是字符 a 或 b 或 c 的内容

实例:

abc以外的字符都替换成X

三、范围类

(一)可以使用 [a-z] 来连接两个字符,表示从 a 到 z 的任意字符(这是一个闭区间,包含字符a 和z 本身)

实例:(将 a-z的所有字母替换为 P)

(二)如果希望同时匹配大小写字母,需要在 [ ] 组成的类内部连写,[a-zA-Z]

实例:(将a-zA-Z范围中的所有字母都替换为P)

 (三)匹配类中的 -,只需在类 [ ] 中加上 - 符号即可

实例:([0-9]表示匹配0-9范围内的数字;[0-9-]表示匹配0-9范围内的数字和 - 符号 )

 四、预定义类

正则表达式提供预定义类,来匹配常见的字符类

 实例:匹配ab和数字字符和任意字符组成的字符串


边界

正则表达式还提供了几个常用的边界匹配字符

注意:元字符的含义不唯一,在不同的场合有不同的含义

 

 ^   表示以xxx开始,要放在对应字符的前面

$   表示以xxx结束,要放在对应字符的后面

实例:

1、\b标识单词边界,\B非单词边界。

 2、匹配@后加上任意字符的结构;匹配以@作为开头的字符


量词

量词:表示数量的词

 如果希望匹配一个连续出现30次的数字字符串,就需要把数字字符写30次。

\d\d\d\d\d\d\d……\d\d\d,这样未免太过于麻烦,我们可以利用量词更方便的表达

连续出现30次的数字字符可以表示为 \d{30}

最多出现10次的数字字符可以表示为 \d{0,10}

猜你喜欢

转载自www.cnblogs.com/nyw1983/p/11545046.html