匹配只允許輸入字母,數字,下劃線的正規表示式:
var reg = /^[a-za-z_0-9]+$/g
匹配過程中遇到了一些問題
問題1.其中 /g和非/g的區別
g是global的縮寫啊!
就是匹配全部可匹配結果,
如果你不帶g,在正則過程中,字串是從左至右匹配的,如果匹配成功就不再繼續向右匹配了,如果你帶g,它會重頭到尾的把正確匹配的字串挑選出來
例如:var
str =
'aaaaaaaa'
var
reg1 = /a/
var
reg2 = /a/g
str.match(reg1)
// 結果為:["a", index: 0, input: "aaaaaaaa"]
str.match(reg2)
// 結果為:["a", "a", "a", "a", "a", "a", "a", "a"]
問題2:
下邊是列印出的問題:首先確信正則一點問題沒有,那為什麼加g和不加g匹配結果會不一樣呢?
原因是:
有興趣的朋友可以自己試一下,這是**:
var reg = /^[a-za-z_0-9]+$/g
var str = 'a_555_';
console.log(reg.test(str));
str = 'a555';
console.log(reg.test(str));
str = 'aaa_55***5';
console.log(reg.test(str));
str = 'aaa_555';
console.log(reg.test(str));
str = 'aa555';
console.log(reg.test(str));
str = 'aa';
console.log(reg.test(str));
str = 'a';
console.log(reg.test(str));
str = '5';
console.log(reg.test(str));
正規表示式的test方法應用
一 test介紹 返回乙個boolean值,指出在被查詢的字串中是否存在模式。語法 rgexp.test str rgexp 必選項。包含正規表示式模式或可用標誌的正規表示式物件。str 必選項。要在其上測試查詢的字串。說明 test方法檢查在字串中是否存在乙個模式,如果存在則返回true,否則就返...
正規表示式的test方法應用
一 test介紹 返回乙個boolean值,指出在被查詢的字串中是否存在模式。語法 rgexp.test str rgexp 必選項。包含正規表示式模式或可用標誌的正規表示式物件。str 必選項。要在其上測試查詢的字串。說明 test方法檢查在字串中是否存在乙個模式,如果存在則返回true,否則就返...
關於python轉義字元在正則匹配中的問題研究
首先看乙個問題 import re text r 學 print text zz r 學 result re.findall zz,text print result 輸出 學 學 為什麼沒有匹配到反斜槓?轉義 首先要理解乙個概念,python中內建的語法字元竄中有一些特殊的符號,那就是 被成為轉義...