Muster beginnt immer mit einem bestimmten Schlüssel (im Beispiel ist es benötigt Anfang) Wert kann mehrzeilig sein. Muster kann mit einem bestimmten Schlüssel enden (im Beispiel ist es ending1 oder ending1). Beendigungsschlüssel können beide oder nur einen von ihnen im Eingabetext darstellen. Wenn beide, dann nur die erste von ihnen benötigt wird.Regex Bedingte Beendigung einer Vorlage
für dieses Beispiel Meine RegexMuster wie folgt aussieht: needed beginning([\S\s]*)(?>ending1|ending2)
hier ein Regex101 ist nicht example
Zweite Erfassungsgruppe arbeitet, ist völlig falsch, und ich weiß nicht, wie man diesen Fall zu realisieren
Eingabetext kann wie folgt sein:
some
other
not
interesting
text
needed beginning
value <--
can be <-- this needed to be captured
multiline <--
ending1
some other values
and other
ending2
some
other
not
interesting
text
Oder wie folgt aus:
some
other
not
interesting
text
needed beginning
value <--
can be <-- this needed to be captured
multiline <--
ending2
some
other
not
interesting
text
Der größte Teil der aktuellen Logik mit mehrzeiligen Eingabe arbeitet und das Hinzufügen dieses Flag wird führen zu der Notwendigkeit, andere Teile zu überprüfen und zu ändern. Ist es möglich, dies zu tun, ohne 'singleline' Flag hinzuzufügen? – aleha
@aleha Sie können das "s" -Flag vermeiden, wenn Sie 'benötigten Anfang ([\ s \ S] *?) (Ending1 | ending2)' verwenden. –
'*?' Das ist ein Punkt. Danke. – aleha