Ich versuche, Code-Zeilen zu entsprechen,
mein Problem ist, Kommentare zu ignorieren (Linien diese beginnen mit slash- /)Wie können nur die Zeilen entsprechen, die nicht mit startet
Zum Beispiel:
/(\w+)(?:\s|\t)(?:\=)(?:\s|\t)+/g
Auf dieser Zeichenfolge:
test1 = "b" test2 = "d" // test3 = "DSF"
Shoul d zurück:
test1
test2
Mein aktueller Muster, natürlich kehrt:
test1
test2
test3
Ich bin mir dessen bewusst (?<!
, sondern weil ich mit Javascript bin es nicht für mich arbeiten. über (?!
Ich glaube, es ist nicht für die gleiche Nutzung (mich beheben, wenn ich falsch liege)
Wäre es nicht möglich, die Eingabe Zeile für Zeile zu betrachten und nach Zeilen zu suchen, die nicht mit den Kommentaren übereinstimmen? Nur wenige Regex-Engines unterstützen "inverse Matches". Von der Spitze meines Kopfes tun weder Python noch C# s. –
Codezeilen sind keine reguläre Sprache. Reguläre Ausdrücke sind eine schlechte Wahl, um sie zu parsen. Ziehen Sie stattdessen den Aufbau eines echten Parsers in Betracht - es könnte einschüchternder sein, aber es wird sicherlich weniger stressig sein, als alle Randfälle zu untersuchen, wie zum Beispiel "test1 =" wird es brechen? // Vielleicht. "' –