Comment combiner 2 conditions et plus dans regex
je veux créer un regex qui correspond.', '#' et ':' et de correspondre tout à l'intérieur de ces parenthèses '[' & ']' comme [foo] & [bar]
j'ai déjà ce match string.match(/[.#:]/g)
pour".','#' et.':'
je sais que les parenthèses regex devrait ressembler à ce [.]
mais comment puis-je les combiner à une seule condition?
merci, Alon
0
demandé sur
Alon
2012-02-23 12:04:16
3 réponses
pour les combiner utilisez
/[.#:]|(?:\[.+?\])/g
?: est facultatif et est utilisé pour capturer pas le groupe (tout ce qui est entre parenthèses)
mise à jour:
.+?
(un ou plusieurs) ou .*?
(pour zéro ou plus) - utilisez-le pour l'appariement paresseux, sinon [ sdfsdf] [sdfsdf ] sera apparié
5
répondu
kingpin
2012-02-23 08:29:11
var s = "a . b # c : d [foo]";
var m = /[.:#]|\[.*?\]/g;
s.match(m);
// returns [".", "#", ":", "[foo]"]
2
répondu
Salman A
2012-02-23 08:12:54
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);
0
répondu
sweaver2112
2012-02-23 08:23:44