REGEX - 在字符串之间查找文本 - 第一个是可选的,但第二个仅在第一次匹配之前
REGEX - Find text between strings - first optinal, but second only until first match
我正在尝试从下面的文本中提取文本“这就是我想要的文本”。
事情是我的正则表达式不会在第一次出现停止时停止,而是在第二次出现时停止。
第一部分,lookbehind 在那里,因为第一个文本不必在那里。
正确的表达方式是什么?
正文:
test1 THIS IS TEXT I WANT stop but here is another text stop and here is more
正则表达式:
(?<=test1).*stop
当前不需要的输出:
THIS IS TEXT I WANT stop but here is another text stop
期望的输出:
THIS IS TEXT I WANT stop
解决方案就是像这样编写正则表达式
(?<=test1)(.*?stop)
重点是你必须放一个 ?在 * 之后,它会使前一个运算符变得懒惰,这意味着它会在第一次出现时停止
我正在尝试从下面的文本中提取文本“这就是我想要的文本”。 事情是我的正则表达式不会在第一次出现停止时停止,而是在第二次出现时停止。 第一部分,lookbehind 在那里,因为第一个文本不必在那里。 正确的表达方式是什么?
正文:
test1 THIS IS TEXT I WANT stop but here is another text stop and here is more
正则表达式:
(?<=test1).*stop
当前不需要的输出:
THIS IS TEXT I WANT stop but here is another text stop
期望的输出:
THIS IS TEXT I WANT stop
解决方案就是像这样编写正则表达式
(?<=test1)(.*?stop)
重点是你必须放一个 ?在 * 之后,它会使前一个运算符变得懒惰,这意味着它会在第一次出现时停止