我发现了非常相似的帖子,但是我在这里不能完全得到正则表达式。
我正在尝试编写一个正则表达式,该表达式返回一个位于其他两个字符串之间的字符串。例如:我想获取字符串“ cow”和“ milk”之间的字符串。
我的牛总是喂牛奶
会回来
“总是给”
到目前为止,这是我拼凑的表达方式:
(?=cow).*(?=milk)
但是,这将返回字符串“牛总是给”。
前瞻(该(?=部分)不消耗任何输入。这是一个 零宽度的断言 (边界检查和后向检查也是如此)。
(?=
您要在此处进行常规匹配以消耗该cow部分。要捕获之间的部分,请使用捕获组(只需将要捕获的模式部分放在括号内):
cow
cow(.*)milk
完全不需要前瞻。