如何在 JavaScript 中检查正则表达式是否完全匹配字符串?

8
如果你有一个字符串如 "foo bar 32536364" 和一个正则表达式 /foo bar \d+/,你如何检查正则表达式是否匹配整个字符串而不是字符串中的某个子串?同时,你不能改变输入值,如添加 ^$
谢谢。

检查匹配的字符串是否与源字符串长度相同? - Pointy
1个回答

14

如果源字符串的长度与匹配字符串相同,那么你就匹配了整个字符串而不仅仅是其中一部分。你可以将源字符串的长度与匹配字符串进行比较,也可以将匹配字符串与源字符串进行比较:

let source1 = "foo bar 12345";
let source2 = "foo bar 12345 foo";

let match1 = source1.match(/foo bar \d+/);
let match2 = source2.match(/foo bar \d+/);

console.log(match1[0] === source1);
console.log(match1[0].length === source1.length);

console.log(match2[0] === source2);
console.log(match2[0].length === source2.length);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接