繁体   English   中英

如何在正则表达式中结合2个条件及更多条件

[英]How to combine 2 conditions and more in regex

我想创建一个匹配'。','#'和':'的正则表达式, 还要匹配这些括号'['&']'中的所有内容,例如[foo]和[bar]

我已经有了这个匹配string.match(/[.#:]/g)用于'。','#'和':'。

我知道方括号正则表达式应该看起来像这样\\[.\\]

但是如何将它们组合成一个条件呢?

谢谢,阿隆

结合使用

/[.#:]|(?:\[.+?\])/g

?:是可选的,用于不捕获组(括号中的任何内容)

更新:

.+? (一个或多个)或.*? (用于零个或多个)-用于延迟匹配,否则将匹配[ sdfsdf] [sdfsddf ]

var s = "a . b # c : d [foo]";
var m = /[.:#]|\[.*?\]/g;
s.match(m);
// returns [".", "#", ":", "[foo]"]
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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM