Что такое регулярное выражение для простой проверки, содержит ли строка определенное слово (например, "Тест" )? Я сделал некоторые поисковые запросы, но не могу получить прямой пример такого регулярного выражения. Это для сборки script, но не имеет никакого отношения к какому-либо конкретному языку программирования.
Regex для строки содержит?
Ответ 1
Предполагая регулярные выражения регулярных выражений в стиле PCRE:
Если вы хотите проверить его как единое, полное слово, оно \bTest\b
, с соответствующими флагами для нечувствительности к регистру, если это необходимо, и разделителями для вашего языка программирования. \b
представляет собой "границу слова", то есть точку между символами, где слово может считаться начальным или конечным. Например, поскольку для разделения слов используются пробелы, на каждой стороне пространства будет граница слова.
Если вы хотите проверить его как часть слова, это просто Test
, снова с соответствующими флагами для нечувствительности к регистру. Обратите внимание, что обычно выделенные методы "подстроки" в этом случае быстрее, потому что они устраняют накладные расходы при анализе регулярного выражения.
Ответ 2
Просто не привязывайте свой шаблон:
/Test/
Вышеупомянутое регулярное выражение будет проверять, чтобы буквальная строка "Test" находилась где-то внутри нее.
Ответ 3
Я собрал воедино различные элементы, чтобы получить подтверждение, необходимое для электронных писем студентов. Я надеюсь, что это сработает, я не проверил полностью.
^[a-zA-Z0-9._%+-][email protected]\{ac|org|stu|student|stud|studmail|edu|uni}
Ответ 4
Я опаздываю на несколько лет, но почему это не так?
[Tt][Ee][Ss][Tt]