当我使用像 regexpal.com 这样的工具时,它让我按照习惯使用正则表达式。例如,我想检查文本中是否存在至少 3 个字母长且以空格结尾的单词的匹配项,以便匹配'now ','noww '依此类推。
在 regexpal.com 上,这个正则表达式\w{3,}\s可以匹配上面的两个单词。
但在 javascript 上,我必须在 w 和 s 之前添加双反斜杠。像这样:
var regexp = new RegExp('\\w{3,}\\s','i');
Run Code Online (Sandbox Code Playgroud)
否则它不起作用。我四处寻找答案并搜索双反斜杠 javascript 正则表达式,但我得到的只是关于如何转义反斜杠等完全不同的主题。有人对此有解释吗?
您可以编写不带双反斜杠的正则表达式,但需要将正则表达式放在正斜杠内作为分隔符。
/^\w{3,}\s$/.test('foo ')
Run Code Online (Sandbox Code Playgroud)
锚点^(匹配行边界的开头),$(匹配行的结尾)有助于进行精确的字符串匹配。您不需要i修饰符,因为\w匹配大写和小写字母。