Регулярное выражение для конца строки - PullRequest
2 голосов
/ 14 июля 2010

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

Спасибо

Ответы [ 3 ]

11 голосов
/ 14 июля 2010
preg_match('/WITH PASSWORD (.*)$/im', $block, $matches);
//result in $matches[1]

Ключ - модификатор "m" .

3 голосов
/ 14 июля 2010

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

$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]);
}

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

0 голосов
/ 14 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...