У меня есть регулярное выражение для фильтрации строки темы электронного письма, и оно очень хорошо удаляет элементы RE / Fwd, чтобы просто оставить саму тему. Прямо сейчас это просто соответствие частей RE / FWD, и хотя это полезно, если бы я мог использовать его в качестве поиска и замены, мне нужно прямо противоположное и добавить группу захвата для захвата объекта без RE / FWD, чтобы я мог используйте его в другом месте.
/([\[\( ] *)?(RE|FWD?) *([-:;)\]][ :;\])-]*|$)|\]+ *$/gims
и примеры:
Fwd : Re : Re: Many
Re : Re: Many
Re : : Re: Many
Re:: Many
Re; Many
: noah - should not match anything
RE--
RE: : Presidential Ballots for Florida
[RE: (no subject)]
Request - should not match anything
this is the subject (fwd)
Re: [Fwd: ] Blonde Joke
Re: [Fwd: [Fwd: FW: Policy]]
Re: Fwd: [Fwd: FW: "Drink Plenty of Water"]
FW: FW: (fwd) FW: Warning from XYZ...
FW: (Fwd) (Fwd)
Fwd: [Fwd: [Fwd: Big, Bad Surf Moving]]
FW: [Fwd: Fw: drawing by a school age child in PA (fwd)]
Re: Fwd
Ожидаемым результатом будет группа захвата, на которую я мог бы ссылаться как на $ 1, $ 2 и c, что будет содержать следующие строки темы:
Many
Many
Many
Many
Many
: noah - should not match anything
Presidential Ballots for Florida
(no subject)
Request - should not match anything
this is the subject
Blonde Joke
Policy
"Drink Plenty of Water"
Warning from XYZ...
Big, Bad Surf Moving
drawing by a school age child in PA