Ik heb nu de onderstaande functie geschreven, en deze werkt voor enkele matches prima, maar bij meerdere matches (or-matches) krijg ik een 'undefined' terug voor het tweede te matchen argument. Ik krijg uit het onderstaande voorbeeld dus 'appel' en 'undefined' i.p.v. 'appel' en 'peer'. Zien jullie wat ik fout doe?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| function RegExpMatchAll(sIptSearch, sIptSubject) { var iRegExp = new RegExp(sIptSearch, 'g'); var sResult = new Array(); var i = 0; while ((sTempResult = iRegExp.exec(sIptSubject)) !== null) { sResult[i] = sTempResult[1]; i++; } return(sResult); } var sTest = RegExpMatchAll('(appel)|(peer)', 'wil je een appel of toch liever een peer?'); |