【问题标题】:Javascript Regex Surrounded by Non-Word Characters, Don't Include SurroundingsJavascript Regex 被非单词字符包围,不包括周围环境
【发布时间】:2014-01-14 05:45:38
【问题描述】:

我正在尝试为 Javascript 编写一段正则表达式来获取单词列表的每一个匹配项,但前提是它们被非单词、非数字字符包围(其中没有任何内容适合/a-zA-Z0-9_/ 的正则表达式)。然而,到目前为止我想出的正则表达式并没有像我想要的那样工作。它仍然允许在侧面使用数字,并且还包括单词两侧的字符。这是我现在拥有的正则表达式:

new RegExp("(?:^|\\W)(task|end|if|then)(?:\\W|$)", "gm")

这是我想用它的示例字符串:

task test()
    if true then
        print "hi"
    end
end

我应该怎么做?请记住,这是 JavaScript,因此无法在正则表达式中进行回溯。

【问题讨论】:

  • 请提供一些您尝试匹配的示例。
  • 请说明你是如何得到匹配的——可能是你的正则表达式是对的,但你用错了

标签: javascript regex


【解决方案1】:

如果我对您的理解正确,您只想捕获taskendifthen,如果它们单独出现,两边都没有(整个单词,没有周围的数字) .为此,只需使用\b 字边界:

\b(task|end|if|then)\b

工作示例:http://regex101.com/r/uM3zI6

如果这不是您的意思,请更新您的问题以阐明您想要匹配的示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    相关资源
    最近更新 更多