【问题标题】:Is (^|\s) valid regex in JavaScript? [duplicate](^|\s) 在 JavaScript 中是有效的正则表达式吗? [复制]
【发布时间】:2017-09-07 18:01:08
【问题描述】:

是否推荐在捕获组中使用锚点?我正在尝试使用该模式模拟后视操作以匹配行开头或空格。

例如,要匹配行首或空格之后的主题标签,并且它们将结束行或后面有空格,还有比这更好的方法吗?

(^|\s)#([\w]+)($|\s)

为了简单起见,我留下了非捕获组。

【问题讨论】:

  • 欢迎来到 SO!请提供一些(更多)代码,以便我们能够帮助您 - 否则:这取决于...
  • 我会保持原样或将其更改为(^|\s)#([\w]+)(?!\S)

标签: javascript regex lookbehind capturing-group


【解决方案1】:

在您的情况下,组内需要(^|\s),因为它在交替中使用。
它说 BOS 空格,但不能同时使用。

Fwiw,(^|\s) 是典型的空白边界,不需要组。
就是这个等价的(?<!\S)

但是 JS 不支持查看断言,所以你必须离开它。

对于另一方(\s|$),它将是(?!\S),它使用 JS 支持的前瞻断言。

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 2018-07-19
    相关资源
    最近更新 更多