正則表示式中^/$和i、m、g的使用
阿新 • • 發佈:2019-02-16
<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”;