Помогите написать регулярку

sydoow

Client
Регистрация
22.06.2011
Сообщения
289
Благодарностей
149
Баллы
43
Нужно находить строки, где встречается слово "Tie" по строгому соответствию

"(\s|^)tie(\s|$)" - такая не подходит
"(\W|^)tie(\W|$)" - такая не подходит

ТАКИЕ НУЖНО НАХОДИТЬ:
Classic Neat tie
Classic tie Neat
Tie Classic Neat
Classic tie, Neat


ТАКИЕ НЕ НУЖНО НАХОДИТЬ:
Modern-tie Stretch
Modern tie-Stretch
Modern tieStretch
Moderntie Stretch
ModerntieStretch
 
Последнее редактирование:

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
.*\bTie\b.*
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Нужно находить строки, где встречается слово "Tie" по строгому соответствию

"(\s|^)tie(\s|$)" - такая не подходит
"(\W|^)tie(\W|$)" - такая не подходит

ТАКИЕ НУЖНО НАХОДИТЬ:
Classic Neat Tie
Classic Tie Neat
Tie Classic Neat
Classic Tie, Neat


ТАКИЕ НЕ НУЖНО НАХОДИТЬ:
Modern-Fit Stretch
Modern Fit-Stretch
Modern FitStretch
ModernFit Stretch
ModernFitStretch
Как можно задавать вопрос и в примерах указывать Modern-Fit Stretch , вместо примеров: Classic-Tie Neat и т.д. - в чем логика?
C#:
.*Tie.*
 
Последнее редактирование:

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
ТАКИЕ НЕ НУЖНО НАХОДИТЬ:
Modern-Fit Stretch
Modern Fit-Stretch
Modern FitStretch
ModernFit Stretch
ModernFitStretch
крайне странный пример того, что не нужно находить. Мне сложно придумать ситуацию и реглярку с tie, где такие строки будут найдены
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Думаю ему не подойдет данный вариант
Опирался на описание: "где встречается слово "Tie" по строгому соответствию".
Плюс, как уже все заметили, ввиду несколько странного набора строк которые не нужно находить, пришлось самому додумывать, что ТС хочет в итоге получить :-)

Но, давайте дождёмся @sydoow и тогда уже узнаём у кого из нас лучше развит дар вангования:ca:
 
  • Спасибо
Реакции: sydoow

sydoow

Client
Регистрация
22.06.2011
Сообщения
289
Благодарностей
149
Баллы
43
Да, прошу прощения, была опечатка в условии задачи
Там везде "tie" (fit - нету нигде)
Изменил условие в первом сообщении
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Да, прошу прощения, была опечатка в условии задачи
Там везде "tie" (fit - нету нигде)
Изменил условие в первом сообщении
C#:
(?i).*(?<!-)\btie\b(?!-).*
83007
 
Последнее редактирование:
  • Спасибо
Реакции: sydoow

Viking01

Client
Регистрация
19.08.2017
Сообщения
228
Благодарностей
151
Баллы
43
А зачем тут вообще регулярка, если можно просто проверять наличие текста
.Contains("Tie"); //c учетом регистра
.ToLower().Contains("tie"); //без учета регистра
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
А зачем тут вообще регулярка, если можно просто проверять наличие текста
.Contains("Tie"); //c учетом регистра
.ToLower().Contains("tie"); //без учета регистра
нужен строго поиск слова
 

Viking01

Client
Регистрация
19.08.2017
Сообщения
228
Благодарностей
151
Баллы
43
ну а чем не поиск слова, если перед ним всегда есть пробел, а заканчивается или пробелом или запятой из примера?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
ну а чем не поиск слова, если перед ним всегда есть пробел, а заканчивается или пробелом или запятой из примера?
и как задать все эти условия + потенциальные в .Contains?
 

Viking01

Client
Регистрация
19.08.2017
Сообщения
228
Благодарностей
151
Баллы
43
и как задать все эти условия + потенциальные в .Contains?
Зачем за автора додумывать потенциальные условия?
Так-то вопрос стоит вообще про строгое соответствие. А его даже в примерах нет.

Есть ли там знаки препинания или нет, откуда он это парсит, - это только он знает, не вижу смысла за него додумывать.
Если там может быть только запятая или пробел на конце - то реально проще через строки делать.

Ну вот накидали ему вариантов реализации, как это можно сделать, он теперь может выбрать :-)

Всем добра :-)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Зачем за автора додумывать потенциальные условия?
затем, что я слишком часто сталкивался с такими вопросами. И проще сделать наперед, добавив несколько символов в регулярку, чем потом переделывать её еще 10 раз
 
  • Спасибо
Реакции: Viking01

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113

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