JavaScript-正则表达式

时间:2019-10-30 16:31:42   收藏:0   阅读:51

\d可以匹配一个数字,\w可以匹配一个字母或数字

^表示字符串的开始位置^\d表示必须以数字开头。

$表示字符串的结束位置\d$表示必须以数字结束。

要匹配变长的字符,在正则表达式中,用*表示任意个字符(包括0个),用+表示至少一个字符,用?表示0个或1个字符,用{n}表示n个字符,用{n,m}表示n-m个字符

要做更精确地匹配,可以用[]表示范围,比如:

 

修饰符

g  :表示是全局搜索,会有多个结果。如果正则表达式带有g修饰符,则每一次test方法都从上一次结束的位置开始向后匹配。

 转义符

正则表达式中,需要反斜杠转义的,一共有12个字符:^.[$()|*+?{\需要特别注意的是,如果使用RegExp方法生成正则对象,转义需要使用两个斜杠,因为字符串内部会先转义一次。

特殊字符

字符类

字符类(class)表示有一系列字符可供选择,只要匹配其中一个就可以了。所有可供选择的字符都放在方括号内,比如[xyz] 表示xyz之中任选一个匹配。

(1)脱字符(^)

如果方括号内的第一个字符是[^],则表示除了字符类之中的字符,其他字符都可以匹配。比如,[^xyz]表示除了xyz之外都可以匹配。

如果方括号内没有其他字符,即只有[^],就表示匹配一切字符,其中包括换行符。

(2)连字符(-)

某些情况下,对于连续序列的字符,连字符(-)用来提供简写形式,表示字符的连续范围。比如,[abc]可以写成[a-c][0123456789]可以写成[0-9],同理[A-Z]表示26个大写字母。

当连字号(dash)不出现在方括号之中,就不具备简写的作用,只代表字面的含义

预定义模式

预定义模式指的是某些常见模式的简写方式。

参考资料:

https://wangdoc.com/javascript/stdlib/regexp.html

https://www.liaoxuefeng.com/wiki/897692888725344/923056128128864

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!