JS正規表示式完全匹配字元

2021-10-10 20:52:22 字數 2358 閱讀 1430

js中 regexp 物件使用 test() 來匹配正規表示式時,只要有子字串能夠匹配成功就會返回 true。

如果要當正規表示式完全匹配整個字串時 test() 才返回true的話,可以在正規表示式的開頭加入^ (表示開頭),結尾加入$(表示結尾)。

var reg1 = /12345678/;

var reg2 = /^12345678$/;

​var test1 = "12345678";

var test2 = "0123456789";

​console.log(reg1.test(test1));      //true

console.log(reg1.test(test2));      //true

console.log(reg2.test(test1));      //true

console.log(reg2.test(test2));      //false

若想完整匹配乙個單詞,可以使用以下形式:

var reg2 = /\bword\b/;

var reg3 = /(?:^|(\s))word(?:$|\s)/;

其中 reg2 的正規表示式會匹配以 "-" 、"." 和其他的字元(沒有一一去測)分隔的單詞

而 reg3 的正規表示式只會匹配以空白字元分隔的單詞

var teststr4 = "word";

var teststr5 = "wordwithoutspace";

var teststr6 = "a word with space";

var teststr7 = "a-word-with-strikethrough";

var teststr8 = "a0word0with0number";

var teststr9 = "a_word_with_underline";

var teststr10 = "a.word.with.decimal";

var teststr11 = "a word with tab";

var reg2 = /\bword\b/;

console.log("reg2.test(teststr4)",reg2.test(teststr4)); //true

console.log("reg2.test(teststr5)",reg2.test(teststr5)); //false

console.log("reg2.test(teststr6)",reg2.test(teststr6)); //true

console.log("reg2.test(teststr7)",reg2.test(teststr7)); //true

console.log("reg2.test(teststr8)",reg2.test(teststr8)); //false

console.log("reg2.test(teststr9)",reg2.test(teststr9)); //false

console.log("reg2.test(teststr10)",reg2.test(teststr10)); //true

console.log("reg2.test(teststr11)",reg2.test(teststr11)); //true

console.log()

var reg3 = /(?:^|(\s))word(?:$|\s)/;

console.log("reg3.test(teststr4)",reg3.test(teststr4)); //true

console.log("reg3.test(teststr5)",reg3.test(teststr5)); //false

console.log("reg3.test(teststr6)",reg3.test(teststr6)); //true

console.log("reg3.test(teststr7)",reg3.test(teststr7)); //false

console.log("reg3.test(teststr8)",reg3.test(teststr8)); //false

console.log("reg3.test(teststr9)",reg3.test(teststr9)); //false

console.log("reg3.test(teststr10)",reg3.test(teststr10)); //false

console.log("reg3.test(teststr11)",reg3.test(teststr11)); //true

正規表示式字元匹配

普通字元由所有那些未顯式指定為元字元的列印和非列印字元組成。這包括所有的大寫和小寫字母字元,所有數字,所有標點符號以及一些符號。最簡單的正規表示式是乙個單獨的普通字元,可以匹配所搜尋字串中的該字元本身。例如,單字元模式 a 可以匹配所搜尋字串中任何位置出現的字母 a 這裡有一些單字元正規表示式模式的...

js 正規表示式匹配中文

簡單匹配中文方法 u0000 u00ff 匹配非單位元組字元 另錯誤方法 u00 uff 匹配 非單位元組字元 還包括一些全半形符號如,等 還有vwxyz字元 說明 u0000 u00ff.包含unicode單位元組編碼 0 255編碼 包含基本控制字元和拉丁文本母。採用該否定表示式,粗略判斷是否含...

JS 正規表示式匹配獲取

表示轉義字元 表示乙個任意字元 表示字元個數 表示字元個數 表示開始與結束 表示非 d表示 1個數字 w 表示乙個字元 不包含中文 s 表示乙個空白字元 表示優先順序,提取組 表示或 方式一 var regobj new regexp d 方式二 var regobj d 推薦使用第二種方式,這種方...