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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по регулярным выражениям 
:(
    Опции темы
Raid
Дата 10.4.2009, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 10.6.2007
Где: Москва

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



Привет.
Почитал про регулярные выражения, но все равно не могу никак составить. По условию задачи нужно в массива строк (строка = слово) найти слова удовлетворяющие простому шаблону. В шаблоне, задаваемом пользователем есть только буквы русского алфавита и звёздочка, которая стандартно представляет любое кол-во букв.
В чем проблема: хочу и нужно в данном случае искать не подстроку в строке, а работать со всей строкой.
Пример: пользователь задает самый примитивный шаблон "а". Т.е. он хочет найти слово, состоящее из одной буквы.
Уже сказал, что не очень силён в регулярных, поэтому пишу так:

Код


            string word = "аб";             // строка, которую проверяем
            string clause = "а";             // условие
            Regex r = new Regex(clause);

            bool t = r.IsMatch(word);
            Console.WriteLine(t);


Естественно выдает True. Какими символами можно определить в выражении, что, скажем после этой "а" из условия, слово должно закончится. или скажем с "а" начинаться. Т.е. искать не есть ли в какой-то строке подстрока, удовлетворяющая условию, а удовлетворяет ли условию вся строка.

Буду очень благодарен за совет.
PM MAIL   Вверх
NightmareZ
Дата 10.4.2009, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


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

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





--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
Rififi
Дата 11.4.2009, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



... слово должно закончится. или скажем с "а" начинаться ...
\b = граница слова.
По регэкспам полно информации в том числе и на русском и в бумажном виде.
регулярные выражение синтаксис

PM MAIL   Вверх
diadiavova
Дата 11.4.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Если я правильно понял задачу, то, кажись, так
Код

^[a\*]+$


Это сообщение отредактировал(а) diadiavova - 11.4.2009, 10:55


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
source777
Дата 12.4.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Чтобы выполнить проверку
word == "а"
регулярные выражения не нужны!


Цитата(Raid @  10.4.2009,  22:48 Найти цитируемый пост)
Т.е. искать не есть ли в какой-то строке подстрока, удовлетворяющая условию, а удовлетворяет ли условию вся строка.

^условие$



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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