Javascript 在两个字符串之间提取字符串

Javascript 在两个字符串之间提取字符串,javascript,regex,Javascript,Regex,我有以下问题: var previous_state = response.match(simulator.previousStateString+"(.*?),"); if( ! previous_state ) {response.match(simulator.previousStateString+"(.*?) ")}; if( ! previous_state ) {response.match(simulator.previousStateString+"(

我有以下问题:

var previous_state = response.match(simulator.previousStateString+"(.*?),");             
if( ! previous_state ) {response.match(simulator.previousStateString+"(.*?) ")};
if( ! previous_state ) {response.match(simulator.previousStateString+"(.*?)#")};
基本上,我在寻找simulator.previousStateString和“,”或“#”之间的字符串。 有没有可能有一个更紧凑的代码? 我是说,我能把三个正则表达式放在一个正则表达式中吗


谢谢

确保您可以将此正则表达式用于:

它只匹配
[和]


PS:确保
模拟器中没有特殊的正则表达式字符。previousStateString
确保可以将此正则表达式用于:

它只匹配
[和]


PS:确保
模拟器中没有特殊的正则表达式字符。previousStateString

要引用特殊正则表达式字符,请参阅此问答:要引用特殊正则表达式字符,请参阅此问答:
response.match( new RegExp(simulator.previousStateString + "(.*?)[, #]") );