Я изучаю регулярные выражения и не могу понять группировку в Java.
В настоящее время мое регулярное выражение
([^:]?)(?![email])(\w+[\. ]?\w+)\ ?\@[\. ]?(\w+\.?\w+)\.edu
Моя цель - извлечь адреса электронной почты, которые бывают разных форматов. Пример строки строки, которая не работает с этим:
To get on the vcode mailing list, please email engler@lcs.mit.edu.
Мое выражение соответствует правильной строке, но
group(1) = e
group(2) = ngler
Что я хочу, это
group(2) = engler
Работает для других строк, таких как href = "mailto: balaji@stanford.edu">
Спасибо, что нашли время помочь мне.
Кстати, я использую http://www.regexplanet.com/advanced/java/index.html, чтобы помочь мне, он преобразует выражения регулярных выражений в те, которые Java понимает, и показывает вам группировки.
Спасибо, Афе
Ответ: ([^:]?) \ B (?! (Электронная почта)) \ b (\ w + [.]? \ W +) \? \ @ [. ]? (\ w +.? \ w +). Эду, я не знал, что это лечили персонажи, спасибо.