标记与正则表达式匹配

时间:2018-07-15 13:44:04

标签: javascript regex

如果我有一些像'-s'或'-r'这样的标志字符串,我怎么只能和'-s'标志匹配,不包括像正则表达式这样的匹配,例如'-solve'或're-solve' ?

3 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

const exp = /(^|\s)\-s($|\s)/
const testCases = ["-s", "-solve", "re-solve"]
testCases.forEach(e => console.log(e, exp.test(e)))

基本上,正则表达式会查找-s字符串,该字符串前面是字符串的开头或空格,而后面是字符串的结尾。

答案 1 :(得分:0)

请尝试一下。起始和结束空格已处理。

\S*-s\b

答案 2 :(得分:0)

在放置标志字母而不是/^-(s|r)$/g时,请尝试使用正则表达式s|r。然后,您可以获取选定的字母,如下所示:

var flag = /^-(s|r)$/g.exec(text)[1];