很多初学Web前端的同学对于正则表达式的印象就是难学,全是各种各样的特殊符号,完全没有规律可循,根本不知道怎么下手。不过真正了解正则表达式之后,你会发现相关的字符并不多,也不难理解。接下来千锋重庆web前端培训机构的小编就给大家梳理一下正则表达式相关的知识点。
什么是正则表达式?正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符。正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、C#,它们都提供相应的接口/函数支持正则表达式。
一个正则表达式就是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式,该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。相关的正则字符有以下几种:
1、元字符。相关字符及作用说明如下:
语法说明
.匹配除换行符以外的任意字符
w匹配字母或数字或下划线或汉字
s匹配任意的空白符
d匹配数字
匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串结束
2、反义。如果你不想匹配某些字符,可以使用反义元字符:
语法说明
W匹配任意不是字母,数字,下划线,汉字的字符
S匹配任意不是空白符的字符
D匹配任意非数字的字符
B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符
3、重复限定词。为了处理重复问题,正则表达式中设定一些重复限定符,把重复部分用合适的限定符替代:
语法说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
4、分组。正则表达式中用小括号()来做分组,也就是括号中的内容作为一个整体。
因此当我们要匹配字符串中包含0到多个ab开头,语法是:^(ab)*
5、转义。转义的出现是为了将元字符、限定符或者关键字转义成普通的字符。做法是在要转义的字符前面加个斜杠,即。如:要匹配以(ab)开头:^((ab))*
6、 条件或。正则用符号|来表示或,也叫做分支条件,当满足正则里的分支条件的任何一种条件时,都会当成是匹配成功。比如联通130/131/132/155/156/185/186/145/176等号段,让我们匹配一个联通的号码,那么我们就可以用或条件来处理这个问题: ^(130|131|132|155|156|185|186|145|176)d{8}$
7、区间。正则提供一个元字符中括号 [] 来表示区间条件。限定0到9可以写成[0-9],限定A-Z写成[A-Z],限定某些数字[165]。
当然,正则表达式中的语法还包括捕获与非捕获、贪婪和非贪婪、反向引用、零宽断言等,在此就不一一列举了。如果你想了解更多Web前端相关知识,建议大家关注千锋重庆web前端机构,小编定期为大家更新。
相关文章
06.08抢座
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱