如果我有一些像'-s'或'-r'这样的标志字符串,我怎么只能和'-s'标志匹配,不包括像正则表达式这样的匹配,例如'-solve'或're-solve' ?
答案 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];