2015-07-31 2 views
0

Я пытаюсь создать регулярное выражение, которое выберет целую строку, где может соответствовать строка.строка соответствия regex, содержащая строку

Не может показаться, что он работает.

Любая помощь очень ценится - вы можете увидеть TestCase и то, что я пытался здесь:

https://www.regex101.com/r/mT5rZ3/1

Большое спасибо заранее! :-)

+0

насчет '. * Именем_события 2. *'. – m0skit0

+0

вы забыли поставить m модификатор. https://www.regex101.com/r/mT5rZ3/2 –

+0

@AvinashRaj Зачем добавлять многострочный модификатор, если OP только хочет соответствовать одиночным линиям? – m0skit0

ответ

0

Если вы используете PHP регулярное выражение. не соответствуют символам новой строки. Таким образом,

.*(\bEventname 2\b).* 

будет достаточно. Если . соответствует новой строке, которая вам нужна *? чтобы сделать точки неживыми (так что это просто соответствует одной строке, а не всему). Вам также нужно быть в многострочном режиме, чтобы использовать^и $, но это не обязательно (поскольку вы все равно хотите соответствовать одной строке).

+0

Моя строка поиска будет выглядеть так: Eventname 2 (T104) - похоже, не может заставить его работать так ...? – Dyvel

+0

См. Https://www.regex101.com/r/mT5rZ3/3 – Dyvel

+0

. * (\ BEventname 2 \ (T104 \)). * Пропустите слово boundry, так как оно уже завершено). Вам также необходимо избежать(). – Astrogat

0

Вы используете строку , содержащую несколько строк . По умолчанию операторы ^ и $ будут соответствовать началу и концу всей строки. Модификатор m заставит их соответствовать началу и концу строки.

0

Это решает вопрос с 463 шагами вместо 952 шагов. Просто убедитесь, что новая строка - это конец файла.

.*Eventname 2.*\n

https://www.regex101.com/r/mT5rZ3/5