Javascript 匹配其他两个不同字符串之间的字符串

Javascript 匹配其他两个不同字符串之间的字符串,javascript,regex,Javascript,Regex,另一个正则表达式问题: 我想捕获存在于两个不同标记字符串之间的文本。问题是,标记字符串有几个选项。例如: 我非常想吃三明治,明天我要去商店——在“我非常饿”和“和”之间捕捉 我很累,所以我要去睡觉了在“我很累”和“.”之间捕捉 我用Javascript编写代码,我想: /string one(.*?)string two|\.|string three|string four/gi 但这似乎不起作用。它只是在字符串一和字符串二之间进行抓取,忽略字符串三和字符串四 正则表达式有什么问题吗?也许您

另一个正则表达式问题:

我想捕获存在于两个不同标记字符串之间的文本。问题是,标记字符串有几个选项。例如:

我非常想吃三明治,明天我要去商店——在“我非常饿”和“和”之间捕捉

我很累,所以我要去睡觉了在“我很累”和“.”之间捕捉

我用Javascript编写代码,我想:

/string one(.*?)string two|\.|string three|string four/gi
但这似乎不起作用。它只是在
字符串一
字符串二
之间进行抓取,忽略
字符串三
字符串四


正则表达式有什么问题吗?

也许您需要对字符串进行分组,因为
的优先级较低

/string one(.*?)(?:string two|\.|string three|string four)/gi

编辑:添加括号会更改优先级,因为括号中的表达式的计算结果先于表达式的其余部分。此外,这里我们使用非捕获组,因为我们使用
(?:
语法。

可能您需要对字符串进行分组,因为
|
的优先级较低

/string one(.*?)(?:string two|\.|string three|string four)/gi

编辑:添加括号会更改优先级,因为括号中的表达式的计算结果先于表达式的其余部分。此外,这里我们使用非捕获组,因为我们使用
(?:
语法。

可能您需要对字符串分组,因为
的优先级较低

/string one(.*?)(?:string two|\.|string three|string four)/gi

编辑:添加括号会更改优先级,因为括号中的表达式的计算结果先于表达式的其余部分。此外,这里我们使用非捕获组,因为我们使用
(?:
语法。

可能您需要对字符串分组,因为
的优先级较低

/string one(.*?)(?:string two|\.|string three|string four)/gi

编辑:添加括号会更改优先级,因为括号中的表达式的计算结果先于表达式的其余部分。此外,这里我们使用非捕获组,因为我们使用
(?:
语法。

/string one(.*)(string two | \.\string three | string four)/gi
?你怎么知道要跳过多少单词和跳过什么?
/string one(.*)(string two | \.\string three | string four)/gi
?你怎么知道要跳过多少单词和跳过什么?
/string one(.*)(string two | \.\124; string three string four)/gi
?你怎么知道要跳过多少单词和跳过什么?
/string one(.*(字符串二| \.|字符串三|字符串四)/gi
?你怎么知道要跳过多少单词和跳过什么?你好,阿康苏。谢谢。我想知道你是否可以添加关于低优先级的答案。为什么添加括号和?:更改优先级?我不熟悉正则表达式,抱歉。谢谢你提供的额外信息。非常有用。你好,阿康苏。这很有效,谢谢。我是想知道你是否可以添加关于低优先级的答案。为什么添加括号和?:更改优先级?对不起,我不熟悉正则表达式。谢谢你提供的额外信息。非常有用。嗨,阿康苏。这很有效。我想知道你是否可以添加关于低优先级的答案。为什么添加括号和“?:更改优先级?对不起,我不熟悉正则表达式。谢谢你提供的额外信息。非常有用。嗨,阿康苏。这很有效。谢谢。我想知道你是否可以添加关于低优先级的答案。为什么添加括号和“:更改优先级?”我不熟悉正则表达式,对不起。谢谢你提供的额外信息。非常有帮助。”满满的。