【问题标题】:Simple Regex skips always first character on a line [duplicate]简单的正则表达式总是跳过一行的第一个字符[重复]
【发布时间】:2018-12-10 06:55:05
【问题描述】:

在 JavaScript 中使用特定的正则表达式时,我有一个非常奇怪的效果。如果我使用/^|.+/gm,它总是会跳过一行的第一个字符。

根据 regex101.com,它不会发生在 pcre (php) 中,但会发生在 JavaScript、Python 和 GoLang 中。关于为什么会发生这种情况的任何想法?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    在 Javascript 中,空匹配仍然递增字符串中正在搜索的当前索引。如果 anything 从字符串中的位置 X 开始匹配,则下一个匹配必须至少从位置 X + 1 开始。(PCRE 不会表现出这种行为;不消耗任何字符的空匹配允许在该空匹配之后立即附加一个非空匹配)

    【讨论】:

    • 哦,我明白了。非常感谢您帮助我理解!
    猜你喜欢
    • 2019-12-13
    • 2017-02-09
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多