JS正则表达式完全匹配字符「建议收藏」

JS正则表达式完全匹配字符「建议收藏」js中RegExp对象使用test()来匹配正则表达式时,只要有子字符串能够匹配成功就会返回true。如果要当正则表达式完全匹配整个字符串时test()才返回true的话,可以在正则表达式的开头加入^(表示开头),结尾加入$(表示结尾)。varreg1=/12345678/;varreg2=/^12345678$/;​vartest1=”12345678″;vartest2=”0123456789″;​console.log(reg1.test(

大家好,欢迎来到IT知识分享网。

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

IT知识分享网

若想完整匹配一个单词,可以使用以下形式:

IT知识分享网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

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10283.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信