如何将负前瞻添加到现有模式中

问题描述 投票:0回答:0

我知道正则表达式的一些基本概念。但是当我需要把它们放在一起时,我就失败了。在这里,恕我直言,这是一个负面的前瞻。但我什至不确定这是否是正确的方法。

输入的字符串是

#+foo: bar: lore
.

正则表达式 (Python3) 是

^#\+(.*): *(.*)$
并提取这两组。

#+foo: bar: lore
  ^^^^^^^^  ^^^^

输出我希望

#+foo: bar: lore
  ^^^  ^^^^^^^^^

用人类语言来说,我会用“

#+
之后的所有内容直到第一个
:
problem是使用last而不是first
:

所以我认为消极的前瞻将是解决方案。我尝试了几件事,但都没有奏效。这是一种方法。

^#\+(.*(?!:)): *(.*)$
       ^^^^^
regex regex-lookarounds
© www.soinside.com 2019 - 2024. All rights reserved.