C# регулярное выражение для предложения, которое может быть включено в любой неалфавитный символ

Мне нужна общая инструкция для поиска предложения или отдельного слова в тексте, перед которым следует любой не алфавитный символ. Я приведу несколько примеров, чтобы проиллюстрировать, что мне нужно:

поиск "удачи":

good luck in the exam.. (should match the pattern)
hello! good luck in the exam..  (should match)
mm,good luck! ..  (should match)
hello again i wish yougood luckin the exam. (**should Not match**)

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

1 ответ

Решение
String regex=@"\b"+input+@"\b";

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


ПРИМЕЧАНИЕ. Вам следует избегать ввода, потому что, если ваш ввод содержит такие символы, как *,?.. это будет рассматриваться как специальные символы в регулярном выражении.. Так что, это должно быть

String regex=@"\b"+Regex.Escape(input)+@"\b";
Другие вопросы по тегам