繁体   English   中英

试图在javascript中使用某些字母后跟任意数字的正则表达式匹配

[英]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#matchRegExp#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM