javascript正则表达式

var patten='//d/gi';

var patten=new RegExp("//d","gi")

当使用RegExp建立时,第一个参数为正则的字符串形式,第二个参数为模式说明,而页不需要“/”,同时由于字符串中“/”后面加参数可能表示换行“/n”,为了防止冲突,改为“//”;

正则表达式对象的属性:

global    ignoreCase lastIndex   multiline   souce //正则的表达式

 

方法:

exec()

var text="mom and dad and baby";

var pattern=/mom( add dad ( and baby)?)?/gi;

var matchs=pattern.exec(text);

alert(matchs.index)//匹配到的字符在原字符串的位置

alert(matchs.input)//要检查的字符

alert(matchs[0])匹配到的字符

alert(matchs[1])匹配到的字符中的组1

 

如果执行exec()时,使用了全局模式,当第二次执行时,会取下一个匹配到的字符

如:

var text = “cat, bat, sat, fat”;       
var pattern1 = /.at/;
                  
var matches = pattern1.exec(text);       
alert(matches.index);        //0
alert(matches[0]);           //cat
alert(pattern1.lastIndex);   //0
                  
matches = pattern1.exec(text);       
alert(matches.index);        //0
alert(matches[0]);           //cat
alert(pattern1.lastIndex);   //0
                  
var pattern2 = /.at/g;
                  
var matches = pattern2.exec(text);       
alert(matches.index);        //0
alert(matches[0]);           //cat
alert(pattern2.lastIndex);   //0

 

matches = pattern2.exec(text);      
alert(matches.index);        //5
alert(matches[0]);           //bat
alert(pattern2.lastIndex);   //8

 

 

方法:test()用于测试是否匹配

 

正则表达式属性:

input   lastMatch   lastParen   leftContext  multiline  rightContext

$_       $&              $+              $`               $*           $'

 

RegExp.input    //RegExp['$_'];

 

当分组时可以使用RegExp.$1

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章