【问题标题】:regex separate similar strings正则表达式分隔相似的字符串
【发布时间】:2015-06-29 10:42:28
【问题描述】:

我有一个文件有很多行,以#lineNumber=(即#123=)开头,然后该引用将出现在文本中的另一个位置,例如#123,没有=。

我想在第一个字符串中添加一个锚点,并且我想将引用作为链接并将其全部写为 html 页面,但由于引用是锚点的一部分,它将替换锚点的一部分也是。

这将找到“锚文本”:/^(#[0-9]*=)/gm,这将找到参考:/^(#[0-9]*)/gm。但是如何将第二个表达式分开以不包含第一个表达式的一部分?

TL;DR:

我想查找以#、#123 开头的文本中的所有数字,但不包括以# 开头并以=、#123= 结尾的数字。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:
    ^(#[0-9]+\b(?!=))
    

    这将确保第二部分不包括第一部分。参见演示。

    https://regex101.com/r/rX1tE6/3

    【讨论】:

    • 这些括号不是不平衡吗?
    • 谢谢,但它的行为不像我预期的那样......我怎样才能只找到后面没有 = 的那些,而排除那些有的?
    • @vks,我不知道为什么,但您的正则表达式只找到了该模式的一个实例。这是您的正则表达式,但在新版本中:regex101.com/r/yV4qY3/1 我想查找文本中的所有模式,但不包括以 = 结尾的模式。再次感谢您的努力!
    • 咦,怎么没看到^...反正就是这样,非常感谢!
    猜你喜欢
    • 2017-07-24
    • 1970-01-01
    • 2014-08-17
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    相关资源
    最近更新 更多