Ich versuche, alle Instanzen von entweder rel|
oder syn|
und ein beliebiges Wort danach zu entsprechen. Ich habe die richtige Regex, wie Sie hier sehen können: https://regex101.com/r/E7RsbZ/1 aber wenn ich es in meine JS einfügen, scheint es nur die erste Instanz von rel|
oder syn|
zu entsprechen. Hier ist der relevante Code:Javascript Regex erhalten ein Array aller Übereinstimmungen, nicht nur das erste Vorkommen
var regex = /(syn|rel)\|[a-zA-Z]*/mgi;
var regexed1 = regex.exec(text);
Wenn der Text die gleiche wie die regex101 eingegeben wird, es gibt das Array ['syn|felicitous', 'syn']
.
Ich bin mir nicht sicher, warum es das tut. Was ich es zurückgeben möchte, ist ein Array, das alle Instanzen von rel|
oder syn|
enthält, so dass ich .toString()
es ausdrucken kann und es ausdrucken. Ich fand this SO answer was bedeutet, dass ich eine Schleife verwenden sollte, aber das Problem ist, ich werde nicht immer wissen, wie viele Instanzen von rel|
oder syn|
wird es sein, so dass ich nicht fest codieren kann, wie oft es Schleife sollte.
Jede Hilfe mit dieser würde geschätzt werden, nicht sicher, wohin sie gehen.
können Sie ein Beispiel für Text geben pls? – mtizziani