一,js正則標志/g,/i,/m說明
1,/g 表示該表達式將用來在輸入字符串中查找所有可能的匹配,返回的結果可以是多個。如果不加/g最多只會匹配一個
2,/i 表示匹配的時候不區分大小寫
3,/m 表示多行匹配,什么是多行匹配呢?就是匹配換行符兩端的潛在匹配。影響正則中的^$符號
二,實例說明
1,/g的用法
<script type="text/javascript"> str = "tankZHang (231144)"+ "tank ying (155445)"; res = str.match(/tank/); //沒有加/g alert(res); //顯示一個tank res = str.match(/tank/g); //加了/g alert(res); //顯示為tank,tank </script>
2,/i的用法
<script type="text/javascript"> str = "tankZHang (231144)" + "tank ying (155445)"; res = str.match(/zhang/); alert(res); //顯示為null res = str.match(/zhang/i); //加了/i alert(res); //顯示為ZHang </script>
3,/m的用法
<script type="text/javascript"> var p = /$/mg; var s = '1\n2\n3\n4\n5\n6'; alert(p.test(s)); //顯示為true alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示\a2\a3\a4\a5\a6 alert(RegExp.leftContext); //顯示為豎的2345 alert(RegExp.rightContext); //顯示為6 var p = /$/g; var s = '1\n2\n3\n4\n5\n6'; alert(p.test(s)); //顯示為true alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //什么都不顯示 alert(RegExp.leftContext); //顯示為豎的123456 alert(RegExp.rightContext); //什么都不顯示 var p = /^/mg; var s = '1\n2\n3\n4\n5\n6'; alert(p.test(s)); //顯示為true alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示為1\a2\a3\a4\a5\a6 alert(RegExp.leftContext); //顯示為豎的12345 alert(RegExp.rightContext); //顯示為6 </script> //從上例中可以看出/m影響的^$的分割方式 上面說的三個例子,/i,/g,/m分開來說的,可以排列組合使用的。個人覺得/m沒有多大用處