之前的博文中: 有正則表達式的\b、i、\g,本文再測試了空格數字和量詞的匹配。
這篇只測試匹配,不替換或其他處理。
\s空格:測試實際寫空格也能識別,但是不利於看出空了幾個空格,可以用\s代表空格。
\d數字:匹配數字
+代表至少一個:一個或多個(不能是零個)
*代表零個或多個:一個沒有,或一個或多個(有多少個都行)
?代表零個或一個:零個后一個,不能是多個(不能是多個)
測試代碼:
<a href="javascript:prn_p1()">點擊獲取</a><br> <script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function prn_p1(){ var str1="Operation not supported on selectedprinter,selected printer,selected printer,Selected Printer";//一個空格,無空格,兩個空格,首字母大寫 //都是全局匹配 //\s代表空格 console.log(str1.match(/selectedprinter/g));//無空格 console.log(str1.match(/selected printer/g));//一個空格,表達式中用空格表示 console.log(str1.match(/selected\sprinter/g));//一個空格,表達式中用\s表示i console.log(str1.match(/selected\sprinter/ig));//一個空格,用\s表示,並忽略大小寫 console.log(str1.match(/selected\s\sprinter/ig));//兩個空格,表達式用\s\s兩個表示 //帶量詞, //+代表至少一個:一個或多個 //*代表零個或多個:一個沒有,或一個或多個 //?代表零個或一個:零個后一個,不能是多個 console.log("-------------后面的是帶量詞的:分割線------------------"); console.log(str1.match(/selected\s+printer/ig));//至少有一個空格,忽略大小寫 console.log(str1.match(/selected\s*printer/ig));//零個或多個 console.log(str1.match(/selected\s?printer/ig));//零個或一個 //\d代表數字,\b\b包裹代表單詞 console.log("-----下面的是匹配的str2里的---str:clodop,clodop4,clodop40,clodop2345,--"); var str2="clodop,clodop4,clodop40,clodop2345,"; console.log(str2.match(/clodop/g));//帶clodop組合的 console.log(str2.match(/\bclodop\b/g));//帶clodop組合的單詞\b包裹 console.log(str2.match(/clodop\d/g));//帶clodop加一個數字的組合 console.log(str2.match(/\bclodop\d\b/g));//帶clodop加一個數字的組合\b包裹 console.log("------下面是帶量詞的額 ,分割線-------"); console.log(str2.match(/clodop\d+/g));//clodop帶一個或多個數字的組合的 console.log(str2.match(/clodop\d*/g));//clodop帶零個或一個或多個的 //后面帶多個數字組合也會截出一個或零個組合 console.log(str2.match(/clodop\d?/g));//clodop帶零個或一個的組合 console.log(str2.match(/\bclodop\d?\b/g));//clodop帶零個或一個的組合\b包裹 //都是全局匹配 }; </script>
因為里面測的比較多,所以選了兩個在圖示中解釋。
圖示:

