在 PHP中捕獲方括號之間的多個文本段
問題:
如何捕獲給定中方括號內的所有文本段string?
答案:
要捕捉方括號碼之間的多個文字段,請使用以下正規表示式:
/\[[^\]]*\]/
此正規表示式匹配任何以方括號開頭、包含任意數量的非方括號字元並以方括號結尾的字串
要提取捕獲的片段,請使用preg_match_all() 函數。此函數將正規表示式模式和目標字串作為輸入,並傳回包含所有符合項目的陣列。以下PHP 程式碼示範如何使用此正規表示式擷取多個文字段:
$text = '[This] is a [test] string, [eat] my [shorts].'; preg_match_all("/\[[^\]]*\]/", $text, $matches); var_dump($matches[0]);
此程式碼產生以下輸出:
array(4) { [0] => string(5) "[This]" [1] => string(5) "[test]" [2] => string(5) "[eat]" [3] => string(7) "[shorts]" }
擷取不帶括號的文字的替代方法:
要僅提取方括號內的文本,請使用以下命令正則表達式:
/\[([^\]]*)\]/
此正則表達式匹配以方括號開頭、包含任意數量的非方括號字元並以方括號結尾的任何字串。括號內的字元使用圓括號進行分組。
要提取不帶方括號的捕獲段,請使用第一個捕獲組,如以下PHP 代碼所示:
preg_match_all("/\[([^\]]*)\]/", $text, $matches); var_dump($matches[1]);
此代碼產生以下輸出:
array(4) { [0] => string(4) "This" [1] => string(4) "test" [2] => string(3) "eat" [3] => string(6) "shorts" }
以上是如何使用 PHP 提取方括號中的多個文字段?的詳細內容。更多資訊請關注PHP中文網其他相關文章!