正则表达式(一)认识常用字符

一.非打印字符

  换行符

    回车符

s  任何空白符号

S  任何非空白符号

二.特殊字符 

()  子表达式

...................限定符.............

*  0次或者多次    贪婪

+  1次或者多次   贪婪

?  0次或者1次     非贪婪     非贪婪和贪婪可以组合使用,如 +? ,*? 可以实现非贪婪或者最小匹配

{}  限定符表达式(次数)  {n,m},n是非负整数,表示  n<=匹配的次数<=m,其中m值不是必设项.  

     例如  

                         o{2}     ->   匹配出现2次的o,  bob不能匹配,boob可以匹配;

                    o{2,}       ->  表达式匹配至少出现2次的      

                    o{2,4}     ->  表达式匹配至少出现2次,最多不超过4次

................................

.  匹配除换行符/n 之外的所有字符

[]  中括号表达式

  转义字符

|  或

三.定位符 (定位符不可与限定符一起使用)

^  1:匹配字符串开始位置 2:在方括号中表示 非 [^  例如 [^ ] 非换行符

$     匹配字符串结尾位置

  匹配单词边界,字与空格间的位置

B  非单词匹配边界

四,选择

非捕获元:仅仅匹配,但是不获取

?:

?= 

?!

五,反向引用

只能用于子匹配分组模式

(pattern) 匹配分组

umber  用于匹配第number个分组中的内容(number范围:1~99)

var str = "Is is the cost of of gasoline going up up";
var patt1 = /([a-z]+) 1/ig;
document.write(str.match(patt1));
// 输出结果
Is,is,of,of,up,up

上述例子中,  ([a-z]+) 是第一个子分组,   表达式 ([a-z]+) 1 意思  匹配([a-z]+) 分组后的结果a 再匹配一次相同的结果a ,例如 up  后再匹配 up

原文地址:https://www.cnblogs.com/perallina/p/10621711.html