[英]trying to get a regex match in javascript with certain letter followed by any number
我正在尝试使用正则表达式,但事实并非如此。 这肯定是一件小事,但是我可以帮上忙。 我尝试在https://regex101.com/上使用正则表达式测试器,它说我做的不正确,但是在我的代码中不起作用。
我想查看一个字符串,看看是否有匹配项:
空格字母v或V在0到9之间没有空格数字空格字母t或T在0到9之间没有空格数字
例如:“ v5 t2”或“ V5 T2”
这是javascript / jquery:
if (mystring.indexOf(/v[0-9] t[0-9]/i) > -1) {
console.log("found!");
} else {
console.log("not found!");
}
有人能告诉我我在做什么错吗? 我是正则表达式的新手。
indexOf
不接受正则表达式,而是接受字符串。 因此,您的正则表达式将转换为字符串,然后不匹配。
如果要检查匹配项,请使用RegExp#test
:
if (/v[0-9] t[0-9]/i.test(mystring)) {
// Yes
} else {
// No
}
请注意,它看起来在字符串的任何地方。
还要注意[0-9]
是\\d
,因此正则表达式可以是/v\\dt\\d/i
。
var mystring = "foo V5 T7 bar"; if (/v\\dt\\d/i.test(mystring)) { console.log("found!"); } else { console.log("not found!"); }
如果你需要知道发生了比赛,其中 ,你会使用String#match
或RegExp#exec
代替,并期待在index
结果的属性:
var mystring = "foo V5 T7 bar"; var match = /v\\dt\\d/i.exec(mystring); if (match) { console.log("Found at " + match.index); } else { console.log("Not found"); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.