2013-12-17 4 views
1
preg_match('`/`', '/hello/how are you/now/4/details') 

Приведенные выше и приведенные ниже значения верны. Проблема в том, что мне нужно только следующее сравнение для возврата true.PHP, сравнивающий регулярное выражение и строку

preg_match('`/hello/how are you/now/\d+/details`', '/hello/how are you/now/4/details') 

У меня есть список регулярных выражений шаблонов, и мне нужно, чтобы увидеть, если вход/игла точно соответствует одному из регулярных выражений, как показано на рисунке выше

Помощь.

ответ

2

Функция ищет соответствие для шаблона в строке. / есть, поэтому он возвращает true. Используйте ^ в начале шаблона в соответствии с началом строки. Используйте $ в конце, чтобы указать конец строки.

+0

Вы имеете в виду что-то вроде этого? preg_match (''^/$'', '/') – Benz

+0

Спасибо @JNF, сработало. – yomexzo

+0

@Benz, точно – JNF

0

Первый возвращает true, потому что он находит / в данной строке. Если вам требуется конкретное соответствие строк, то, как @JNF, используйте ^ и $ для начала и конца строки. Чтобы проверить ваше регулярное выражение https://www.debuggex.com, это действительно поможет вам.

Смежные вопросы