當前位置: 首頁> 最新文章列表> PHP教程:使用正則表達式提取所有括號內的內容

PHP教程:使用正則表達式提取所有括號內的內容

gitbox 2025-07-17

什麼是正則表達式?

正則表達式是一種用於描述字符串匹配規則的工具,廣泛應用於編程語言、文本編輯器及命令行工具中。通過字符和操作符的組合,正則表達式能夠精準匹配特定的字符串模式,方便實現查找、替換和提取操作。

在正則表達式中,方括號用來定義字符集合,而圓括號用於分組。實際開發中,我們常常需要提取字符串中括號內的內容,下面將以PHP為例,講解如何實現這一需求。

如何使用PHP 實現匹配括號內的內容?

利用preg_match 函數進行匹配

PHP內置的preg_match函數可以用於正則表達式匹配操作。其基本功能是在字符串中搜索符合模式的內容,若找到則返回1,否則返回0或FALSE。 preg_match的參數主要包括:

 <span class="fun">preg_match($pattern, $subject, $matches);</span>

其中,$pattern為正則表達式模式,$subject是待匹配的字符串,$matches用於存放匹配結果。

正則表達式匹配所有括號內的內容示例

下面示例展示瞭如何使用正則表達式匹配字符串中所有圓括號內的內容:

 $pattern = '/\((.*?)\)/';
$subject = 'This is a (example) string with (multiple) pairs of (parentheses).';
preg_match_all($pattern, $subject, $matches);
print_r($matches[1]);

解釋如下:$pattern中的\((.*?)\)表示匹配被圓括號包圍的任意內容,其中.*?是非貪婪匹配,確保提取最小範圍的括號內容。

preg_match_all函數會匹配字符串中所有符合模式的部分,結果存儲在$matches數組中。 $matches[1]包含所有括號中的內容。

示例輸出結果

Array
(
    [0] => example
    [1] => multiple
    [2] => parentheses
)

從結果可以看出,代碼成功提取了字符串中所有括號內的內容。

總結

正則表達式是處理字符串匹配和提取的強大工具。在PHP中,通過preg_match或preg_match_all函數結合合適的正則表達式,可以方便地實現對括號中內容的提取。本例中的表達式/\((.*?)\)/即是針對圓括號內文本的高效匹配方案,適用於各種實際應用場景。