Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
sysrepos
37 / 37 / 21
Регистрация: 08.08.2013
Сообщений: 303
Записей в блоге: 1
#1

Что означают эти символы в регулярном выражении?

17.05.2016, 11:37. Просмотров 285. Ответов 3
Метки нет (Все метки)

Добрый день!
есть регулярное выражение, которое проверяет правильность почтового адреса (один из нагугленных вариантов):


C#
1
2
string e_mail = "name@gmail.com";
string pattern="[.\\-_a-z0-9]+@([a-z0-9][\\-a-z0-9]+\\.)+[a-z]{2,6}";

что в нем означают символы?
.\\
\\
\\.

string expr ="[.\\-_a-z0-9]+@([a-z0-9][\\-a-z0-9]+\\.)+[a-z]{2,6}";

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2016, 11:37
Ответы с готовыми решениями:

Что не правильно в этом регулярном выражении
static string pattern = @"({1,1}){2,9}+_({1,1}){2,9}"; Regex regex = new...

Что может быть не так в регулярном выражении
public void HtmlRegex(string html) { string pattern =...

Что означают эти строки?
Скажите, пожалуйста, что означают эти строки: if (a >> 28 != 5) { b = a...

Разобраться в регулярном выражении
"(?<=<img+?src=\" )+" вон оно я не могу понять что значит и \" )+ ...

Проверка на регистр в регулярном выражении
Имеется форма в которой richTextBox и Button при нажатии на Button создается...

3
diadiavova
3666 / 1254 / 397
Регистрация: 11.04.2015
Сообщений: 2,353
Записей в блоге: 35
17.05.2016, 11:45 #2
Двойной слеш во всех случаях означает просто слеш, поскольку здесь регулярка вписана прямо в строковый литерал, а в нем слеш как и в регулярный выражениях используется для экранирования спецсимволов. Можно поставить собачку перед литералом и заменить двойные слеши одинарными. Ну, а так - точка в первом случае -обозначает любой символ, слеш в нем же - предшествует минусу, что означает, что этот минус должен интерпретироваться именно как минус. Во втором случае - это слеш, который, как и в первом, экранирует минус. В третьем случае слеш экранирует точку, что означает, что она должна интерпретироваться как точка, а не как любой символ(что имело место в первом случае)
1
Zer0_CooL
15 / 15 / 6
Регистрация: 21.12.2011
Сообщений: 72
17.05.2016, 11:56 #3
Цитата Сообщение от sysrepos Посмотреть сообщение
[.\\-_a-z0-9]
В квадратных скобках указаны допустимые символы:
. точка
\- знак минус (тире) -
_ знак подчеркивания
буквы от a до z
цифры от 0 до 9

Возможно так будет немного понятней:
C#
1
string pattern = @"[.\-_a-z0-9]+@((?:[a-z0-9][\-a-z0-9]+\.)+)[a-z]{2,6}";
1
sysrepos
37 / 37 / 21
Регистрация: 08.08.2013
Сообщений: 303
Записей в блоге: 1
17.05.2016, 12:13  [ТС] #4
ясно, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2016, 12:13

Full match в регулярном выражении
Доброго времени суток! Столкнулся с проблемой в Regex: Есть строка...

Тире и дефис в регулярном выражении
Приветствую! Задача: Найти в строке определенные "недопустимые" символы,...

Замена именованной группы на другой текст в регулярном выражении
Всем привет. У меня есть регулярное выражение: ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru