Как найти точное совпадение слова? помогите с регуляркой.

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
Привет, есть задача вылавливать стоп слова типа "@нал" но чтоб не реагировал на слова типа "канал" или "аналитический"
Нашел такое выражение
^слово$
но если слово начинается с большой буквы то его не видит

Есть ли какая-то регулярка чтоб отлавливала как и большую букву так и маленькую?
или надо просто дублировать с большой и малой буквой? спасибо
 
Последнее редактирование:

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Можно включить нечувствительность к регистру с помощью (?i).
Ещё можно использовать вместо начала и конца строки границу слова \b.
(?i)\bслово\b
 
  • Спасибо
Реакции: backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
а как правильно оформить поиск по выражению?

(?i)\bслово1\b
(?i)\bслово2\b

то есть вот так ищет
(слово1|слово2)

если взять другой вариант, выдает ошибку
((?i)\bслово1\b|(?i)\bслово2\b)
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
допустил ошибку в выражении, было 2 закрывающих знака ")"
все работает
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
а как правильно оформить поиск по выражению?

(?i)\bслово1\b
(?i)\bслово2\b

то есть вот так ищет
(слово1|слово2)

если взять другой вариант, выдает ошибку
((?i)\bслово1\b|(?i)\bслово2\b)
Либо так можете
(?i)(вася|петя)
 
  • Спасибо
Реакции: backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
о по идее же вот так будет проще?
C#:
(?i)\b(слово1|слово2)\b
проверил, странный момент
если делать для каждого слова, то находит слово с Большой буквы, если упрощенный вариант, то с маленькой
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)