我正在抓取一個文本塊,在這個塊內會有一行包含一個以「WITH PASSWORD kEqHqPUd」結尾的短語,其中kEqHqPUd是一個動態生成的密碼。任何人都可以提供一個簡單的正則表達式來抓取這個密碼。 FWIW我正在使用PHP。正則表達式結束行短語
感謝
我正在抓取一個文本塊,在這個塊內會有一行包含一個以「WITH PASSWORD kEqHqPUd」結尾的短語,其中kEqHqPUd是一個動態生成的密碼。任何人都可以提供一個簡單的正則表達式來抓取這個密碼。 FWIW我正在使用PHP。正則表達式結束行短語
感謝
preg_match('/WITH PASSWORD (.*)$/im', $block, $matches);
//result in $matches[1]
的關鍵是"m" modifier。
不知道你是如何定義「短語結束」 ......但是,如果你的意思是「句子與密碼結束,但之後可能還有一句」,那麼解決方案是:
$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]);
}
注意,$
號表示「端線的」。
我承認模糊不會出現在我身上,但我認爲大寫字母暗示它實際上沒有用適當的句子流動英文文本。 – Artefacto 2010-07-14 14:23:00
假設PHP接受標準的正則表達式模式,以下內容應該在「WITH PASSWORD(。+)+ $」的位置,密碼將放置在第一個捕獲組中。
你試圖想出你自己的? – 2010-07-14 14:14:57