В настоящее время я использую этот REGEX, чтобы получить целые слова с префиксом PRE_
\b(PRE_)\S*
Это отлично работает в большинстве случаев, но я бы хотел обработать случаи, когда специальный символ является частью слова, например точка, запятая или другой специальный символ. ,; - {} () []
Например, слова здесь:
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_
Я хотел бы только найти первую часть слова с разделителями. Так что я могу удалить или заменить слово. Таким образом, в случае замены всех префиксных слов PRE_ в этом сценарии на "" в качестве текста, я получу:
<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>
Я пробовал другой REGEX, но на самом деле ничего не совпадает полностью правильно во всех примерах. Что-то вроде следующего не работает:
\b(PRE_)\S*(?:[;]|[.][-])$
Любая помощь здесь будет принята с благодарностью.