Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражения, Нужна помощь 
:(
    Опции темы
VladikDM
  Дата 22.1.2009, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



Не могу понять тему регулярных выражений. Для чего они существуют это понятно.
Пожалуйста киньте линк для чайников. Просто статьи некоторые сложные с кучей не понятных слов  smile 
PM MAIL   Вверх
QryStaL
Дата 22.1.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 10
Всего: 32





--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Rififi
Дата 22.1.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: нет
Всего: 36



VladikDM, 
user posted image
В этой книге есть всё и даже больше того, что нужно знать о регэкспах. В сети найти не проблема.

Это сообщение отредактировал(а) Rififi - 22.1.2009, 18:14
PM MAIL   Вверх
VladikDM
Дата 23.1.2009, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



Спасибо за ссылки, стало намного понятнее  smile 
Если не сложно вот на примере покажите как выглядит код:
Есть строка, нужно её разбить на слова чтоб каждое слово стало объектом массива.
Просто хочу увидеть применение в полном коде  smile 
PM MAIL   Вверх
chaos
Дата 23.1.2009, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Цитата(VladikDM @ 22.1.2009,  22:32)
Спасибо за ссылки, стало намного понятнее  smile 
Если не сложно вот на примере покажите как выглядит код:
Есть строка, нужно её разбить на слова чтоб каждое слово стало объектом массива.
Просто хочу увидеть применение в полном коде  smile

Я пока только начал изучать C#.
для разюиения строк типо 
Код

string TextValue = "1 2 3 4 5 6 7 8 9";
string[] TextElements = TextValue.Split(' ');
foreach (string TextElement in TextElements)
{
    Console.WriteLine(TextElement);
}


для разбияния используются разного рода Split'ы, а для выделения как раз регулярные выражения. Один момент: для Split'ов тоже возможно использовать паттерны.

ЗЫ щас придут люди будут говорить что регекспы это зло smile


Это сообщение отредактировал(а) chaos - 23.1.2009, 09:25
PM WWW   Вверх
chaos
Дата 23.1.2009, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



вот реальная задача для применения регекспов ИМХО:

есть список uri из которых нужно отсеять правельные.
правельными считаются например
Код

http://host.ru/blablabla
http://host.ru/blablabla/1
http://host.ru/blablabla/2
/blablabla/2
/blablabla
http://host.ru/lala/2
http://host.ru/lala
/lala
/lala/666
http://host.ru/kuku/
http://host.ru/kuku/2/afasfasdfdsfsfs
/kuku/45/dfgdg?rt=345&sertwert=4


Код

        private static bool CheckUri(string TestUri, string BaseUri)
        {
            string MyPattern = string.Format(
                @"^({0})?/((blablabla(/\d+)*)|(lala(/\d+)?)|(kuku/\d+\/[^\?]+))(\?.+)?$", BaseUri);
            return Regex.IsMatch(TestUri, MyPattern);
        }
        
        public static void Main(string[] args)
        {
            Console.WriteLine(CheckUri("http://host.ru/blablabla", @"http://host.ru"));
            Console.WriteLine(CheckUri("http://host.ru/blablabla/1", @"http://host.ru"));
            Console.WriteLine(CheckUri("http://host.ru/blablabla/asd", @"http://host.ru"));
            Console.WriteLine(CheckUri("blablabla/asd", @"http://host.ru"));
            Console.WriteLine(CheckUri("/blablabla/666", @"http://host.ru"));
            Console.WriteLine(CheckUri("/blablabla/asd", @"http://host.ru"));
            Console.WriteLine(CheckUri("/lala/asd", @"http://host.ru"));
            Console.WriteLine(CheckUri("http://host.ru/kuku/2/wqeqwewqe?a=1&b=4", @"http://host.ru"));
            
        }

PM WWW   Вверх
VladikDM
Дата 23.1.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



Чтото мне такой пример не очень помог  smile 
Можно на задаче по проще пжалста  smile 
PM MAIL   Вверх
chaos
Дата 30.1.2009, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



VladikDM, есть строка вида
YYYY-MM-DD hh:mm:ss

нужно все это засунуть в переменные(6 штук)

PM WWW   Вверх
PashaPash
Дата 30.1.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



chaos, этот пример решается без всяких регулярных выражений,
Код

            string dateTimeString = "2006-04-17 21:38:09";
            DateTime parsedValue = DateTime.ParseExact(dateTimeString + "Z", "u", CultureInfo.InvariantCulture);

не хватало еще дату вручную парсить.

Это сообщение отредактировал(а) PashaPash - 30.1.2009, 11:20


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0832 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.