Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150

Шаблон регулярного выражения

04.05.2010, 20:41. Показов 1601. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с небольшой проблемой при изучении регулярных выражений.
Написал код который, находит введенное слово(или точнее все его вхождения в строку - но только точные соответствия) в тексте - для чего использовал такой шаблон:

C#
1
pattern = "[\\s|\\p{Zp}]" + pattern + "[\\s|\\p{P}]";
Расшифровка - перед словом пробел либо (вот с этим и проблема) после слова пробел либо любой знак пунктуации.
Шаблон "\\s" + pattern + "[\\s|\\p{P}]" - находит все слова кроме, тех что находятся в начале строки - где нет никакого пробела.
Перепробовал почти все метасимволы, но так и не понял как обозначить ОТСУТСТВИЕ любого символа перед словом.
Знак абзаца p{Zp} тут разумеется не помогает - так как если текст не разделен на абзацы - а идет сплошной массой и перед началом строки нет никаких ни символов, ни спецсимволов - то шаблон не срабатывает.
Большая просьба подсказать, что тут нужно применить.

Добавлено через 9 минут
Вопрос в принципе снимается.
Просто это "\\s" в начале шаблона было вообще лишнее - оказывается и так находит все нормально -как в начале строки так и в остальных позициях. Я просто че то не подумал так сразу сделать - а перестраховался. И зря.

Добавлено через 6 минут
хотя нюансы конечно есть - при таком шаблоне (без начального пробела) при введении слова век находит его в слове человек.
Что не гуд.

Добавлено через 37 минут
Решение найдено: вот такой шаблончик работает как надо
C#
1
pattern = "(?<!\\w)" + pattern + "[\\s|\\p{P}]";
вместо наличия пробела перед словом поставил условием отсутствие слева от слова любой буквы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2010, 20:41
Ответы с готовыми решениями:

Составление регулярного выражения
Здравствуйте! Имеется строка &lt;tr&gt;&lt;td&gt;10 нор.&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;td style=&amp;quot;text-align:right&amp;quot;&gt;6,972,500&lt;/td&gt;&lt;/tr&gt; ...

Некорректная работа регулярного выражения
var request = WebRequest.Create(&quot;http://tnoduse2.blogspot.ru/&quot;); using (var responses = request.GetResponse()) ...

Поиск подстроки с помощью регулярного выражения
Есть текст string'а. Стоит задача, найти и вынести в отдельную переменную нужную подстроку. Подстрока начинается с &quot;&lt;img...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2010, 20:41
Помогаю со студенческими работами здесь

Получить маску для регулярного выражения
Доброго времени суток, уважаемые форумчане ! Только сегодня начал работать с регулярными выражениями и пока не совсем пойму, как...

Проверка регулярного выражения на полное соответствие строке
Здравствуйте! Есть регулярное выражение для MAC-адреса: &quot;({2}(|$)){6}$|({4}(|$)){3}&quot;. Как мне проверить точное совпадение строки с этим...

Как проверить, допустимым ли является символ на соответствие части регулярного выражения?
У меня есть регулярное выражение. Как проверить строку на соответствие регулярному выражению понятно, а как проверить, допустимым ли...

Получение URI-адресов, не обрамленных тегами <a>, с помощью регулярного выражения
Доброго времени суток, уважаемые форумчане, разбриается ли кто-то в регулярках? Вообще задача - авто-детект ссылок в тексте и обрамление...

Шаблон проектирования Prototype. Можно ли по такой реализации сказать, что используется этот шаблон?
public interface ICloneable&lt;T&gt; { T Clone(); } public class Client : ICloneable&lt;Client&gt; { ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru