js正则归纳

/*
* 正则的缓存区
*
一、 var num='adb1122';
 var reg=/(\d)\1(\d)\2/gi;
 console.log(num.match(reg));//[ '1122' ]


二、普通字符:a  b  c  1  2  3
特殊字符:\d  \w  \D    //w d 是什么

三、元字符中限定符
 *   : 匹配0到多
 +   : 匹配1到多
 ?   : 匹配0或1
 {n}  : 匹配n次
 {n,}  : 最少匹配n次
 {n,m} :最少匹配n次,最多匹配m次

 在js正则表达式中,*,+,?可以采用{}的形式表示或代替

 * :{0,}
 + :{1,}
 ? :{0,1}
 var str='45638yuikjkj';
 var reg=/[a-z]{2,3}?/gi;//非贪婪加上?(问号)匹配最小单位
 console.log(str.match(reg));

 三、字符匹配符
 []:在正则表达式称之为字符簇(只匹配一个字符)
 [a-z]    :匹配a-z中的任一字符
 [A-Z] :匹配A-Z中的任一字符
 [0-9] :匹配数字0-数字9中的任一数字(\d)
 [0-9a-z] : 匹配数字0-数字9或a-z中任一字符
 [0-9a-zA-Z] : 匹配数字0-数字9或a-z或A-Z中的任一字符
 [abcd] :匹配字符a或字符b或字符c或字符d
 [1234] :匹配数字1或数字2或数字3或数字4、
 ^ : 上档键,在正则中表示取反(仅限于字符簇)
 [^a-z] :匹配除a-z中的任一字符
 [^0-9] :匹配除0-9中的任一字符
 [^abcd] :匹配除字符a或字符b或字符c或字符d以外的任一字符
 \d :匹配一个数字字符。[0-9]
 \D :匹配一个非数字字符。[^0-9]
 \w :匹配包括下划线的任何单词字符。[0-9a-zA-z_]
 \W :匹配任何非单词字符。[^0-9a-zA-Z_]
 \s :匹配任何空白字符 空格 换行 制表位
 \S :匹配任何非空白字符。
 .  :匹配除 "\n" 之外的任何单个字符

 扩展:如何匹配所有的中文字符
 第一种:\u5hs

 四、定位符
 定位符可以将一个正则表达式固定在一行的开始或结束。也可以创建只在单词内或只在单词的开始或结尾处出现的正则表达式。
 ^     匹配输入字符串的开始位置
 $     匹配输入字符串的结束位置
 \b     匹配一个单词边界  开始  空格  结尾
 \B     匹配非单词边界

 五、转义符
 \定义一个转义符
 /   .   ( )   { }  ‘  “  [ ]  *  ?  +  ^  $  -

 六、选择匹配符
 在正则表达式可以采用|(或的意思)代表选择匹配符
 var str='hai,nodejsdfdfdfhai,php';
 var reg=/hai,(nodejs|php)/gi;
 console.log(str.match(reg));
* */

 

posted @ 2016-10-10 13:40  XINYUHAI77  阅读(236)  评论(0编辑  收藏  举报