这篇文章主要介绍”js正则表达式总结”,在日常操作中,相信很多人在js正则表达式总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“js正则表达式总结”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
var reCat =, new 正则表达式(“cat",,“gi");,//RegExp构造函数可以带一个或两个参数,第一个参数描述需要进行匹配的模式字符串,第二个参数指定了额外的处理命令, var reCat =,/猫/gi;,//使用Perl风格的语法, , ,我:执行对大小写不敏感的匹配, ,g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止), ,m:执行多行匹配
<强>元字符,
强>
元字符是表达式语法的一部分,在正则表达式中用到的所有元字符有:{((\ ^ |美元))}?* +安康;
如匹配一个问号:var reQMark=/\ ?/;或var reQMark=new RegExp (“\ \ ?“);//注意这里是两个反斜杠,双重转义,,
\ xxx 查找以八进制数,xxx 规定的字符,如:142/\/为字符b \ xdd 查找以十六进制数,dd 规定的字符,如:\ x62/为字符b \ uxxxx 查找以十六进制数,xxxx 规定的,Unicode 字符,如:\ u0062/为字符b \ r 查找回车符, \ n 查找换行符, \ f 查找换页符, \ t 查找制表符, \ v 查找垂直制表符, \ a 查找警告字符, \ e 查找转义字符, \ cX 查找与X相对应的控制字符, \ 0,查找,NULL 字符, , 只查找单个字符,除了换行和行结束符,等同于[r ^ \ n \], \ w 查找单词字符,等同于[a-zA-Z_0-9], \ W 查找非单词字符,等同于[^ a-zA-Z_0-9), \ d 查找数字,等同于[0 - 9], \ D 查找非数字字符,等同于[^ 0 - 9], \ s 查找空白字符,等同于[,\ t f \ r \ n \ x0B \], \ x0B为垂直选项卡和\ t一样, \ S 查找非空白字符,等同于[^,\ t f \ r \ n \ x0B \]
<强>方括号,强>
(abc),查找方括号之间的任何字符, (^ abc),查找任何不在方括号之间的字符, [0 - 9],查找任何从,0,至,9,的数字, [a - z],查找任何从小写,a 到小写,z 的字符, [a - z],查找任何从大写,A 到大写,Z 的字符, [a - z],查找任何从大写,A 到小写,z 的字符, (adgk),查找给定集合内的任何字符, [^ adgk],查找给定集合外的任何字符
<强>量词,强>
?匹配任何包含零个或一个的字符串,如:英航吗? d匹配bd, bad
+匹配任何包含至少一个的字符串,如:ba + d匹配不好,baad
*匹配任何包含零个或多个的字符串,如:英航* d匹配bd,坏,baad
{n}匹配包含恰好出现n次的序列的字符串,如:英航{1}d匹配bad
{n, m}匹配包含至少n次但不超过m次的序列的字符串,如:英航{0,1}d匹配bd, bad
{n}匹配包含至少出现n次的序列的字符串,如:英航{0}匹配bd,坏,baad, baaad ,,
<强>贪婪量词:强>先看整个的字符串是否匹配,如果发现没有匹配,去年该字符串中的最后一个字符并再次尝试,如:?,+,*,{n}, {n, m}, {n},默认就为贪婪量词,
惰性量词:先看字符串中的第一个字母是否匹配,如果单独这一个字符还不够,就读入下一个字符、组成两个字符的字符串,与贪婪量词的工作方式恰好相反,如:+ ? ? ?,?,{n} ?m}, {n, ?,{n} ?,
支配量词:只尝试匹配整个字符串,如果整个字符串不能产生匹配,不做进一步尝试,如:?+、+ +、* +,{n} + {n, m} + {n} +,,
var sToMatch =,“abbbaabbbaaabbb1234",, var re1 =,/. * bbb/g,,//匹配结果为“abbbaabbbaaabbb", var re2 =,/. * ? bbb/g,,//只有惰性量词才能匹配成功,匹配结果为“abbb"“aabbb",“aaabbb", var re3 =,/. * + bbb/g,,//匹配不了,直接报错
<强>复杂模式之分组:>强通过一系列括号包围一系列字符,字符类以及量词来使用的,
/(狗){2}/,匹配“dogdog",
/((bd)广告?)*,匹配空,“ba",“da",“糟糕的;,“dad",
/(妈妈(爸爸)?),匹配“mom",“妈妈和dad",
/^ \ s * (. * ?) \ s + $/,匹配首尾的空白字符,也可以用/^ \ s + | \ s + $/g
<强>复杂模式之反向引用:>强也叫捕获性分组,按照从左到右遇到的左括号字符的顺序进行创建和编号的,例如表达式(? (B ? (C ?)))将产生编号从1 - 3的三个反向引用:(? (B ? (C ?)))、(B ? (C ?)), (C),