Ich verwende derzeit diese REGEX, um ganze Wörter mit dem Präfix PRE_ zu erhalten.
\b(PRE_)\S*
Dies funktioniert in den meisten Fällen einwandfrei, aber ich möchte Fälle behandeln, in denen ein Sonderzeichen Teil des Wortes ist, z. B. ein Punkt, ein Komma oder ein anderes Sonderzeichen. ,; - {} () []
Zum Beispiel die Wörter hier:
PRE_samplewordwithoutdelimiter
PRE_sampleword.otherwordsnotincluded;
PRE_Sampleword{}...deleted
PRE_complexword()a.;.is deleted
Somewords ahead PRE_sometext() ending in other words
Words with bracket [PRE_brackettext] are deleted
PRE_sampleword is spaced out so deleted
sampleword.PRE_deleted;
notdeleted.notdeleted.PRE_
Ich möchte nur den ersten Teil eines abgegrenzten Wortes finden. So kann ich das Wort löschen oder ersetzen. Wenn Sie also in diesem Szenario alle Wörter mit dem Präfix PRE_ durch "" als Text ersetzen, erhalten Sie:
<DELETED>
<DELETED>.otherwordsnotincluded;
<DELETED>{}...deleted
<DELETED>()a.;.is deleted
Somewords ahead <DELETED>() ending in other words
Words with bracket [<DELETED>] are deleted
<DELETED> is spaced out so deleted
sampleword.<DELETED>;
notdeleted.notdeleted.<DELETED>
Ich habe verschiedene REGEX-Modelle ausprobiert, aber in den Samples stimmt wirklich nichts völlig überein. So etwas funktioniert nicht:
\b(PRE_)\S*(?:[;]|[.][-])$
Jede Hilfe hier wäre sehr dankbar.