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

 

 

 

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