Помощь с регулярным выражением

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18
Всем привет. Использую вот это регулярное выражение для вытаскивания почты [\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} Работает в принципе хорошо но в некоторых случаях вместе с почтой парсит букву n в начале. Вопрос как удалить эту самую букву https://prnt.sc/wf6i91. Проблема с удалением заключается в том, что как ее распознать, некоторые почты могут также начинаться на n.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Всем привет. Использую вот это регулярное выражение для вытаскивания почты [\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} Работает в принципе хорошо но в некоторых случаях вместе с почтой парсит букву n в начале. Вопрос как удалить эту самую букву https://prnt.sc/wf6i91. Проблема с удалением заключается в том, что как ее распознать, некоторые почты могут также начинаться на n.
откуда парсинг? Это текст страницы?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
никак. даже вот просто как человек смотрю и просто вижу название почты. чо уж про машину то говорить :-)
 

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18
Последнее редактирование:

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18
никак. даже вот просто как человек смотрю и просто вижу название почты. чо уж про машину то говорить :-)
Суть в том что парсится два варианта с n и без, так вот как отсеять те варианты, которые содержат n может это возможно сделать путем сравнения, не знаю как это реализовать
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Суть в том что парсится два варианта с n и без, так вот как отсеять те варианты, которые содержат n может это возможно сделать путем сравнения, не знаю как это реализовать
Может быть, как вариант, если первый символ "n" в нижнем регистре, парсить второй символ и если он в верхнем регистре или согласная, то отсекать первый символ "n".
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
если парсится оба варианта, просто проверяешь, есть ли в строке в начале n. Если есть - обрезаешь и проверяешь есть ли в списке такой вариант почты. Если есть - просто удаляешь эту строку
 
  • Спасибо
Реакции: Sergodjan

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18
если парсится оба варианта, просто проверяешь, есть ли в строке в начале n. Если есть - обрезаешь и проверяешь есть ли в списке такой вариант почты. Если есть - просто удаляешь эту строку
Это я понимаю, суть в том как это реализовать.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18
у тебя не всегда такой формат как на скрине ? скинь пример в текстовом виде где не работает.
Скидываю полностью страницу, регулярку испытываю на одной странице, на которой есть почта, суть в том что страница генерируется всегда по разному и почта может прописываться в многих местах или в одном, в зависимости как сам пользователь заполняет данные, и буква n также прописывается не всегда, по этому регулярка вряд ли в этом случае поможет, нужно как-то отсечь дубль почты который в начале содержит n
 

Вложения

Регистрация
07.08.2019
Сообщения
76
Благодарностей
80
Баллы
18
Можно стянуть страницу, удалить все \\n и пройтись регуляркой после этого)
70104
 
  • Спасибо
Реакции: Sergodjan, Jeka124 и doc

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)