Измените регулярное выражение javascript электронной почты на java - PullRequest
0 голосов
/ 12 сентября 2018

Мне нужно проанализировать заголовок электронного письма (от, до) из API gmail и отделить его от примера: «Джон Доу» станет именем: «Джон Доу» и электронная почта: «john.doe@gmail.com». Я уже нашел решение, однако оно есть в javascript. Мне нужно преобразовать его в код Java. У меня проблема с изменением регулярных выражений javascript на java:

const regex = /(([\w,\"\s]+)\s)?<?([^@<\s]+@[^@\s>]+)>?,/g;

Это мое регулярное выражение в Java:

String regex = "(([\\w,\\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?";

Я пытаюсь удалить первые символы '/' и ', / g', а также заменить все символы '\' на символ '\\', но все равно получаю ошибку в регулярном выражении.

Это не дубликат Print Hello Question , поскольку проблема заключается в сопоставлении символов в регулярном выражении, а не в их печати. Я уже знаю о "\" "сделать" в Java.

1 Ответ

0 голосов
/ 12 сентября 2018

Вам также нужно экранировать ", иначе он закроет строку."(([\\w,\\\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?"

Как сказал Амадан, " не требует экранирования в регулярном выражении, поэтому может быть "(([\\w,\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...