Intereting Posts
PHP Перенаправить обновление силы (CTRL + F5) Отформатируйте мою строку JSON в упорядоченный список <ol> в PHP Crypto-Js различный вывод из mcrypt. После считывания данных для шифрования PHPExcel в контроллере Zend2 PHP Простой способ заменить или удалить пустые строки с помощью str_replace require_once () или die () не работает Регулярное выражение для поиска атрибута «src» элемента HTML «img» в PHP Как получить весь столбец с именем, имеющим одно и то же имя, при использовании красноречия laravel? Каков наилучший и быстрый способ проверки правильности изображения на PHP? Упаковка, кеширование, JS и CSS в PHP, которые различают среду разработки и производства Как подключиться к MySQL с помощью php Zend как использовать компонент кэша переменная обмена laravel по всем методам в контроллере Использование пакета PEAR Horde_Text_Diff Как выбрать уникальное значение из столбца на основе нескольких идентификаторов во многих случаях?

Регулярное выражение для выражения конца строки

Я захватываю блок текста, внутри этого блока будет строка, содержащая фразу, которая заканчивается «WITH PASSWORD kEqHqPUd», где kEqHqPUd является динамически сгенерированным паролем. Может ли кто-нибудь предоставить простое регулярное выражение для захвата только пароля в этом. FWIW Я использую PHP.

благодаря

preg_match('/WITH PASSWORD (.*)$/im', $block, $matches); //result in $matches[1] 

Ключ – это модификатор «m» .

Не знаете, как вы определяете « фраза, которая заканчивается » … Но если вы имеете в виду, что « предложение заканчивается паролем, но за ним может следовать другое предложение », тогда решение может быть:

 $text = <<<TEXT This is some text and there is a sentence that ends with WITH PASSWORD kEqHqPUd. Is that matched ? TEXT; $matches = array(); if (preg_match('/WITH PASSWORD ([\w\d]+)/', $text, $matches)) { var_dump($matches[1]); } 

Это будет работать, однако, если пароль содержит только буквы и / или цифры, но будет работать, если после слова « конец фразы » будет что-то.

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

 $text = <<<TEXT This is some text and there is a sentence that ends with WITH PASSWORD kEqHqPUd TEXT; $matches = array(); if (preg_match('/WITH PASSWORD (.+)$/m', $text, $matches)) { var_dump($matches[1]); } 

Обратите внимание, что знак $ означает « конец строки ».

Предполагая, что PHP принимает стандартные шаблоны регулярных выражений, следующее должно работать «WITH PASSWORD (. +) + $», Где пароль будет помещен в первую группу захвата.