【问题标题】:REGEX - Find text between strings - first optinal, but second only until first matchREGEX - 在字符串之间查找文本 - 第一个可选,但在第一个匹配之前只有第二个
【发布时间】:2021-08-04 07:30:17
【问题描述】:

我正在尝试从下面的文本中提取文本“这是我想要的文本”。 事情是我的正则表达式不会在第一次出现停止时停止,而是在第二次出现。 第一部分,lookbehind 在那里,因为第一个文本不必在那里。 正确的表达方式是什么?

文字:

test1 这是我想要停止的文本,但这里是另一个文本停止,这里还有更多

正则表达式:

(?<=test1).*stop

当前不需要的输出:

这是我想要停止的文字,但这里是另一个文字停止

期望的输出:

这是我要停止的文本

【问题讨论】:

    标签: regex between


    【解决方案1】:

    解决办法就是这样写正则表达式

    (?<=test1)(.*?stop)
    

    关键是你必须放一个 ?在 * 之后,它会使前一个运算符变得惰性,这意味着它将在第一次出现时停止

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 2019-12-28
      • 2021-10-15
      相关资源
      最近更新 更多