首頁 > 後端開發 > php教程 > 如何使用 PHP 正規表示式擷取方括號中的文字?

如何使用 PHP 正規表示式擷取方括號中的文字?

Mary-Kate Olsen
發布: 2024-11-28 15:57:10
原創
1034 人瀏覽過

How to Extract Text Enclosed in Square Brackets Using PHP Regular Expressions?

在PHP 中提取方括號內的文本

在PHP 中捕獲方括號之間的文本的挑戰需要採取細緻入微的方法。使用 /[.*?]/ 作為正規表示式的常見嘗試僅檢索第一個實例,導致結果不完整。

捕捉外殼:

要克服此限制,請使用將整個文字包含在方括號內的正規表示式。考慮以下模式:

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[[^\]]*\]/", $text, $matches);
登入後複製

這裡, /[1]/ 用作正則表達式,對應於方字符號中包含的任何括號中包含的任何括號串。插入符號 (^) 與字串的開頭匹配,後面跟著括號。 2 部分錶示不是括號的字元。星號 () 匹配任意數量的出現,尾部括號結束此模式。

在提供的文字上執行此正規表示式將導致:

Array (
     [0] => [This]
     [1] => [test]
     [2] => [eat]
     [3] => [shorts]
)
登入後複製

捕捉內部文字:

或者,您可能希望提取內部文字:

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[([^\]]*)\]/", $text, $matches);
登入後複製

或者,您可能希望提取內部文字:或者,您可能希望擷取文字而不使用括號。這需要修改正規表示式:

Array (
     [0] => This
     [1] => test
     [2] => eat
     [3] => shorts
)
登入後複製
在此正則表達式中,(

3

*) 捕獲方括號內的任何字符,從而有效地從輸出中刪除括號。您將獲得:
  1. 請記住,此正規表示式假定方括號未嵌套在文字中。
  2. ]
  3. ]
] ↩] ↩] ↩) ↩

以上是如何使用 PHP 正規表示式擷取方括號中的文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板