我想创建一个匹配'。','#'和':'的正则表达式,并且还匹配这些括号中的所有内容'['& ']',例如[foo]& [巴]
我已经将此匹配string.match(/[.#:]/g)
用于'。','#'和':'。
我知道括号正则表达式应该如下\[.\]
但是如何将它们组合成一个条件?
感谢, 阿龙
答案 0 :(得分:5)
将它们组合使用
/[.#:]|(?:\[.+?\])/g
?:是可选的,用于不捕获组(括号中的任何内容)
更新:
.+?
(一个或多个)或.*?
(零或更多) - 使用此项进行延迟匹配,否则 [ sdfsdf] [sdfsddf ] < / strong>将匹配
答案 1 :(得分:2)
var s = "a . b # c : d [foo]";
var m = /[.:#]|\[.*?\]/g;
s.match(m);
// returns [".", "#", ":", "[foo]"]
答案 2 :(得分:0)
var data = '[content]kjalksdjfa.sdf[sc.tt].#:';
var myregexp = /(\[.+?\])|[.#:]/g;
var match = myregexp.exec(data);
var result = "Matches:\n";
while (match != null) {
result += "match:"+match[0] + ',\n';
match = myregexp.exec(data);
}
alert(result);