Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
5 / 5 / 1
Регистрация: 08.05.2011
Сообщений: 121

Регулярные выражения

10.05.2011, 19:44. Показов 1291. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю лабу по регулярным выражениям, нужно в строке выделить валидные емаилы, для примера взял в инете готовый:
C#
1
string pattern = "[\\.-_a-z0-9!#$%&'*+—/=?^_`{|}~]+@([a-z0-9][\\-a-z0-9]+\\.)+[a-z]{2,6}";
анализируемая строка:
C#
1
string email = "asd [email]dsf@cx.ds[/email] asda sdjfn#$%bd@asdas.asd [email]asjnj_as.asd@dsd.asd[/email] asdas [email]asd.asd.sad@asd.aa.sd[/email].s";
не понятно значение символов //, однако когда их убираю в конце (перед .), воспринимает
часть строки
C#
1
 "#$%bd@asdas.asd [email]asjnj_as.asd@dsd.asd[/email] asdas [email]asd.asd.sad@asd.aa.sd[/email]"
как один емаил

когда убираю их в начале и середине, ничего не меняется
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2011, 19:44
Ответы с готовыми решениями:

Регулярные выражения
Не понимаю регулярных выражения, поэтому прошу помочь. Есть 3 задания, без регулярных сделал бы, но надо с ними 1) Ввести строку...

Регулярные выражения
Есть строки типа (перечень лесных кварталов, закрепленных за лесхозом) - строка1: 1-5,20-89, 100 - 155 строка2: 6-10,90-99, 155 -...

регулярные выражения
Помогите доделать задачку: В сообщении могут содержаться IP-адреса компьютеров в формате d.d.d.d, где d – целое число из диапазона от 0 до...

3
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
10.05.2011, 19:52
точка означает любой символ
слешТочка означает точку
если поставить @"перед" строкой второй слеш можно убрать
1
179 / 175 / 14
Регистрация: 17.01.2011
Сообщений: 349
11.05.2011, 16:35
Вообще странная какая-то регулярка. Или я ошибаюсь?

Первая часть:
[\\.-_a-z0-9!#$%&'*+—/=?^_`{|}~]+
Это у нас символьный класс, в котом как бы должна описываться часть адреса до собаки.
Во-первых, почему тут экранирована точка? Она и так как символ обрабатывается. А присутствие "\" делаем валидными адреса вида lalala\hoho@mail.ru. Собственно, непонятно совершенно наличие и всего остального: "!#$%&'*+—/=?^_`{|}~". По идее там должны быть -a-z0-9.+_ и всё.
И в дополнении к этому можно использовать минимальный квантификатор "+?"
@
Тут все понятно - собачка, ни убавить, ни прибавить.
([a-z0-9][\\-a-z0-9]+\\.)+
Аж два квантификатора "+", абсолютно не понятно зачем два символьных класса? Хватило бы и просто [-.a-z0-9]+\\.
[a-z]{2,6}
Тут все более-менее понятно.
В итоге вся регулярка это: [-a-z0-9.+_]+?@[-.a-z0-9]+\\.[a-z]{2,6}
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
11.05.2011, 21:30
Есть, кстати, пару экстра-модных вариантов:
C#
1
@"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|""(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*"")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])"
-Прямое следование стандарту

C#
1
@"^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$"
-Наиболее разумный, что я видел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2011, 21:30
Помогаю со студенческими работами здесь

Регулярные выражения
Пытаюсь разобрать html код. <td class="name"> <span><a href="/stock/issuers/33">Название</a>, ао</span> <i...

Регулярные выражения
Помогите пожалуйста не работает проверка...как показано ниже есть две строки в которых может быть...

Регулярные выражения
Здравствуйте, подскажите, как "сказать" регулярному вырожению, что определенный набор символов - это слово: Regex rx = new...

Регулярные выражения
Добрый день. Столкнулся с проблемой, у меня есть метод который возвращает совпадение регулярки public static string RegexFilter(string...

Регулярные выражения
1. In the end - Linkin Park (Hybrid Theory); 3:15; Alternative Rock, Rock Есть такая строка, мне нужно вырезать только название трека до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru