1. 程式人生 > >正則表示式中^/$和i、m、g的使用

正則表示式中^/$和i、m、g的使用

<script type="text/javascript">
var p = /[A-Za-z]+$/m;
var s = '1a\n2b\n3c\n4d\n5e\n6f';
console.log(p.test(s));  //顯示為true
//返回上一次正則表示式搜尋時,被搜尋字串中最後一個匹配文字之後(不包括最後一個匹配:指a後面的\n)的所有字元。
console.log(RegExp.rightContext);
console.log(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //顯示\a2\a3\a4\a5\a6
//返回上一次正則表示式匹配時,被搜尋字串中最後一個匹配文字之前(不包括最後一個匹配:這裡是指6f之前的\n)的所有字元
console.log(RegExp.leftContext);    //顯示為豎的2b3c4d5e
console.log(RegExp.rightContext);   //顯示為6


var p = /[A-Za-z]+$/mg;
var s = '1a\n2b\n3c\n4d\n5e\n6f';
console.log(p.test(s));  //顯示為true
//返回上一次正則表示式搜尋時,被搜尋字串中最後一個匹配文字之後(不包括最後一個匹配)的所有字元。
console.log(RegExp.rightContext);
console.log(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //顯示\a2\a3\a4\a5\a6
//返回上一次正則表示式匹配時,被搜尋字串中最後一個匹配文字之前(不包括最後一個匹配:這裡是指6f之前的\n)的所有字元
console.log(RegExp.leftContext);    //顯示為豎的2b3c4d5e
console.log(RegExp.rightContext);   //顯示為6

var p = /[A-Za-z]+$/g;
var s = '1a\n2b\n3c\n4d\n5e\n6f';
console.log(p.test(s));  //顯示為true
console.log(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //什麼都不顯示
console.log(RegExp.leftContext);    //顯示為豎的1a2b3c4d5e6;因為之前匹配的最後一個匹配文字是‘f’
console.log(RegExp.rightContext);   //什麼都不顯示
</script>

顯示就可以看出了“如果設定了RegExp物件的Multiline屬性,$也匹配“\n”或“\r”;