我得從字符串中提取字符串,如"THE NEED OF FOLLOWING A RELIGION "
。 我提取了單個詞,如THE
,NEED
,OF
......但我需要大寫字母如"THE NEED OF FOLLOWING A RELIGION"
的完整字符串,但無法這樣做,請大家幫忙。全部大寫字符串,空格在php中
preg_match_all("/[A-Z]*/", $html, $out);
感謝
我得從字符串中提取字符串,如"THE NEED OF FOLLOWING A RELIGION "
。 我提取了單個詞,如THE
,NEED
,OF
......但我需要大寫字母如"THE NEED OF FOLLOWING A RELIGION"
的完整字符串,但無法這樣做,請大家幫忙。全部大寫字符串,空格在php中
preg_match_all("/[A-Z]*/", $html, $out);
感謝
一個非常基本的修改原來的代碼在同一時間發現的超過1首都。
$str='This is a string WITH MIXED CASE words and WE ONLY WANT capitals';
preg_match_all("/[A-Z\s]{2,}/", $str, $out);
echo '<pre>',print_r($out,true),'</pre>';
輸出:
Array
(
[0] => Array
(
[0] => WITH MIXED CASE
[1] => WE ONLY WANT
)
)
謝謝。,,它的工作原理 –
你的正則表達式剛好錯過定界符的一些條件,這是
字必須被任一隨後或通過空間含鉛。
轉換句以上的正則表達式,我們得到
[A-Z]*(?=\s)|(?<=\s)[A-Z]*
上述正則表達式可以解釋成兩種
\sWORD
WORD\s
\sWORD\s
見DEMO。
您可以將空白添加到您的班級,如[A-Z ]
。現在您可以使用大寫字母來獲取所有字符串,也可以使用單個空格。爲了避免使用單個空格,您可以使用([A-Z]+[A-Z ]*[A-Z])
我添加了()
以捕獲匹配的結果。 你可以在行動here檢查它。
正則表達式也需要包含空格 – RamRaider
但我無法做到這一點。因爲我不知道。會有多少空間......以及如何達到最終狀態。 –
你不必擔心像你沒有關於字母的空間數量。 '/ [A-Z] * /' – revo