2 / 2 / 0
Регистрация: 30.10.2011
Сообщений: 16
1

Объясните принцип работы регулярных выражений

07.04.2012, 13:12. Показов 1615. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
    class Program
    {
        static void Main(string[] args)
        {
            String e_mail = "acsfhghghhghh";
            string expr = "[a-z]{2,6}";
            Match isMatch = Regex.Match(e_mail, expr, RegexOptions.IgnoreCase);
            if (isMatch.Success)
                Console.WriteLine("ок");
 
        }
    }
с таким кодом, он выдает ок, хотя ничего не должен выдавать. а если напишешь 1 букву, то ничего не выдает. может кто может объяснить принцип работы регулярных выражений???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2012, 13:12
Ответы с готовыми решениями:

Объясните принцип работы операторов
Объясните, пожалуйста, принцип работы операторов << и >> Не могу понять, как именно они работают.

Цикл while, объясните принцип работы кода
Добрый день. Никак не могу понять как работает цикл while, чисто из принципа хочу разобраться. Это...

Объясните принцип работы метода string.format
объясните принцип работы метода string.format()

Операции с числами: объясните принцип работы кода
Доброй ночи. Можете человеческим языком объяснить, как работает эта программа? using System;...

4
124 / 37 / 6
Регистрация: 14.01.2012
Сообщений: 264
07.04.2012, 13:22 2
Все правильно он выдает. Присвой любую букву объекту e_mail и он тоже будет выдавать ok. Regex.Match проверяет соответствие строки e_mail с регулярным выражением в данном случае expr , т.к. имеются совпадения , он и выдает ok.
Вот ещё почитай http://skillcoding.com/Default.aspx?id=155
И есть ещё одна книга которая подробно и ясно поясняет все о регулярных выражениях.
Дж.Фридл - Регулярные выражения, 3-е изд.
0
2 / 2 / 0
Регистрация: 30.10.2011
Сообщений: 16
07.04.2012, 13:31  [ТС] 3
нифига, если e_mail=a, то он ничего не выведет.
0
Эксперт Java
4088 / 3822 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
09.04.2012, 09:14 4
Цитата Сообщение от qwer_11 Посмотреть сообщение
может кто может объяснить принцип работы регулярных выражений???
Регулярные выражения FAQ

Почему так:
Regex.Match ищет совпадения в строке, а не проверяет строку на соответствие. Поэтому в строке acsfhghghhghh он находит "от 2 до 6 символов", а в строке состоящей из одного символа - не находит.

Если вам надо точное совпадение добавьте символы границы строк к regexp-у: "^[a-z]{2,6}$"
0
2 / 2 / 0
Регистрация: 30.10.2011
Сообщений: 16
09.04.2012, 10:42  [ТС] 5
вот оно че, михалыч(с).
спасибо, попробую)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 10:42
Помогаю со студенческими работами здесь

Операции с числами: объясните принцип работы кода (2)
Всем доброй ночи, я опять продолжаю нубить при изучении C# и пишу с просьбой помочь разобраться с...

Возможности регулярных выражений
привет. могут ли регулярные выражения такое? "мы ехали 345 туда" если слева цифр и справа...

Использование регулярных выражений
Добрый День! Имеется строка в виде <Symbol>GRX/SPB</Symbol>...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru