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