js中的正则表达式
Posted godfather-twq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的正则表达式相关的知识,希望对你有一定的参考价值。
正则表达式Regular(规则) Expression(表达式)
规定一个字符串中字符出现的规律的表达式
xxx@qq.com/cn 1
when 只要使用一个种规则,模糊匹配关键词时
how
1.最简单的正则就是关键词原文
2、字符集:规定字符串中某一位字符,备选字符列表 只有一个字符,但是有多重选择字符
语法:[备选字符列表]
每个字符集只能匹配一位字符,且每个字符集中至少匹配一次
ex:[微wv][信x] 匹配到的内容: 微信 wx vx 微x v信 w信
简写:
1.如果备选字符列表是连续的,可用-省略中间字符
ex:
一位数字:[0123456789] ==>[0-9]
一位小写字母:[a-z]
一位大写字母:[A-Z]
一位字母:[a-zA-Z]
一位汉字:[\\u4e00-\\u9fa5]
特殊:除了xx以外[^xx]^必须写在正则的开头
预定义字符集:对常用字符集的简写
\\w 一位字母数字或_ [0-9a-zA-Z_]
\\d 一位数字 [0-9] digital(数位)
\\s 一位空字符 一切看不见的字符:空格,Tab
..
. 一位任意字符
一个预定义字符集仅匹配一位字符,仅用于规定字符的内容
量词:专门规定一位字符集出现次数的规则,量词都是用于一个字符集只有默认修辞相邻的前一个字符集,量词需要用在字符后面
1、有明确数量的边界
字符集min,max 规定字符集出现最少min次,最多max次
字符集min, 最少出现min次
字符集n 必须出现n次
2、没有明确数量的边界
字符集? 可有可无,最多出现一次
字符集* 可有可无,多了不限
字符集+ 至少出现一个,多了不限
仅修辞相邻的前一个字符集
选择和分组
分组:将多个字符集组成一组 可以让一个量词修饰多个字符集
ex: (字符集)
选择:"或" 匹配任意一个规则即可
ex: 规则1|规则2 (微|w(ei)?)(信|x(in)?)
匹配指定位置
字符串的开头 ^ ex: ^\\s+ 开头的空字符
字符串结尾 $ ex: \\s+$ 结尾的空字符
单词边界 \\b ex: \\bno\\b 匹配no这个单词,但是前和后可以用标点或者空格和其他字符隔开
手机号
(\\+86|0086)? +86或0086
\\s* 空字符,可有可无,多了不限制
1
[3457869] 3,4,5,6,7,8,9中挑一个
\\d9 9位数字
(\\+86|0086)?\\s*1[3456789]\\d9 正则中间不要加空格,容易被解析成规则 +前加上\\否则会被解析成量词
邮箱
数字/字母或_ 一次以上 \\w+
@
字母或数字 2位以上 [0-9a-zA-Z]2,
(. 和 (字母或数字) 2-3位) 1-2次
\\w+@[0-9a-zA-Z]2,[.][a-zA-Z]2,3([.][a-zA-Z]1,3)?
以上是关于js中的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章