一尘不染

正则表达式以获取Javascript中两个字符串之间的字符串

javascript

我发现了非常相似的帖子,但是我在这里不能完全得到正则表达式。

我正在尝试编写一个正则表达式,该表达式返回一个位于其他两个字符串之间的字符串。例如:我想获取字符串“ cow”和“ milk”之间的字符串。

我的牛总是喂牛奶

会回来

“总是给”

到目前为止,这是我拼凑的表达方式:

(?=cow).*(?=milk)

但是,这将返回字符串“牛总是给”。


阅读 255

收藏
2020-04-25

共1个答案

一尘不染

前瞻(该(?=部分)不消耗任何输入。这是一个 零宽度的断言 (边界检查和后向检查也是如此)。

您要在此处进行常规匹配以消耗该cow部分。要捕获之间的部分,请使用捕获组(只需将要捕获的模式部分放在括号内):

cow(.*)milk

完全不需要前瞻。

2020-04-25