Вопрос про шаблоны
От: J-son  
Дата: 12.08.10 09:07
Оценка:
Здравствуйте, имеется небольшой вопрос по поводу использования шаблонов

Regex rg = new Regex(@"^(\d+.\d+.\d+.\d+)$"); — формат 21.56.98.8 или 8.5.2.41
bool match = rg.IsMatch("6.52.25"); — такая констукция возвращает false (так как не попадает под шаблон)

bool match = rg.IsMatch("6.552.25"); однако такая возвращает true, хотя она вдвойне неправильная

Чем это вызвано?
Re: Вопрос про шаблоны
От: Aen Sidhe Россия Просто блог
Дата: 12.08.10 09:12
Оценка: 4 (2) +1
Здравствуйте, J-son, Вы писали:

JS>Здравствуйте, имеется небольшой вопрос по поводу использования шаблонов


JS> Regex rg = new Regex(@"^(\d+.\d+.\d+.\d+)$"); — формат 21.56.98.8 или 8.5.2.41

JS> bool match = rg.IsMatch("6.52.25"); — такая констукция возвращает false (так как не попадает под шаблон)

JS> bool match = rg.IsMatch("6.552.25"); однако такая возвращает true, хотя она вдвойне неправильная


JS>Чем это вызвано?


Точки надо слешами экранировать. Иначе оно воспринимается как "любой символ".
С уважением, Анатолий Попов.
ICQ: 995-908
Re[2]: Вопрос про шаблоны
От: zhech  
Дата: 12.08.10 09:15
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Здравствуйте, J-son, Вы писали:


JS>>Здравствуйте, имеется небольшой вопрос по поводу использования шаблонов


JS>> Regex rg = new Regex(@"^(\d+.\d+.\d+.\d+)$"); — формат 21.56.98.8 или 8.5.2.41

JS>> bool match = rg.IsMatch("6.52.25"); — такая констукция возвращает false (так как не попадает под шаблон)

JS>> bool match = rg.IsMatch("6.552.25"); однако такая возвращает true, хотя она вдвойне неправильная


JS>>Чем это вызвано?


AS>Точки надо слешами экранировать. Иначе оно воспринимается как "любой символ".


Да, в регэкспе, к стати, 3 точки, почему аффтара это не засмущало?
Re[2]: Вопрос про шаблоны
От: J-son  
Дата: 12.08.10 09:31
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Здравствуйте, J-son, Вы писали:


JS>>Здравствуйте, имеется небольшой вопрос по поводу использования шаблонов


JS>> Regex rg = new Regex(@"^(\d+.\d+.\d+.\d+)$"); — формат 21.56.98.8 или 8.5.2.41

JS>> bool match = rg.IsMatch("6.52.25"); — такая констукция возвращает false (так как не попадает под шаблон)

JS>> bool match = rg.IsMatch("6.552.25"); однако такая возвращает true, хотя она вдвойне неправильная


JS>>Чем это вызвано?


AS>Точки надо слешами экранировать. Иначе оно воспринимается как "любой символ".


Ok, большое спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.