2

我有一段文字:

“敏捷的棕色狐狸跳过了懒狗”

我需要匹配除单词和该单词后第一次出现的字母之间的文本以外的所有内容,如下所示(在这种情况下,在棕色和“l”的第一次出现之间):

“敏捷的棕色懒狗”

我尝试了一些可能的解决方案,但我手中最接近的匹配结果恰恰相反:

(?<=brown ).*?(?=l)

匹配“狐狸跳过”

编辑:

我正在使用 Klipfolio 工具,我拥有的确切文本是这样的:

["String1: value1","String2: value2","String3: value3"]

我想匹配除 value1 之外的所有内容并将其替换为空字符串。

我正在使用的功能是SUBSTITUTE_REGEX

4

2 回答 2

1

如前所述,最简单的方法是进行字符串替换。

做相反的事情更复杂,是这样完成的:

查找 (.*?brown ).*?(l.*)|(.+)
替换$1$2$3

https://regex101.com/r/x8QW6r/1

于 2019-05-11T17:29:48.193 回答
0

您可以只使用原始模式并将匹配的部分替换为空字符串""

另一种方法是创建两个匹配组,然后您可以将它们组合起来以获得想要的结果:

(.*brown )(?:[^l]*)(.*)
Full match  0-43   The quick brown fox jumps over the lazy dog
Group 1.    0-16   The quick brown 
Group 2.    35-43  lazy dog

演示

于 2019-05-11T15:58:31.813 回答