我有以下问题:
var previous_state = response.match(simulator.previousStateString+"(.*?),");
if( ! previous_state ) {response.match(simulator.previousStateString+"(.*?) ")};
if( ! previous_state ) {response.match(simulator.previousStateString+"(.*?)#")};
基本上,我在simulator.previousStateString和','或''或'#'之间寻找一个字符串。 是否有可能拥有更紧凑的代码? 我的意思是,我可以将所有3个正则表达式都放在一个吗?
由于
答案 0 :(得分:7)
当然,您可以将此正则表达式与character class
:
response.match( new RegExp(simulator.previousStateString + "(.*?)[, #]") );
它只匹配[ and ]
PS:确保simulator.previousStateString