理解「[^][]」正規表示式:
提供的模式中的正規表示式「[^][] 」 "[(?:[^][]|(?R))*]" 符合所有不是方括號的字元([ 或]).
說明:
獨特注意事項:
與其他正規表示式引擎不同, PCRE(在PHP 的“preg_”函數中使用)不需要在字元類別中轉義[ 或]。這是因為 PCRE 將它們與其他字元類別區分開來。
此外,正規表示式模式「[^]]」沒有歧義,因為 ] 是第一個字元。這意味著它匹配後跟 ] 的字元。要符合a 後跟],請寫1.
最佳化模式:
使模式更可重複使用且高效能,可以最佳化為如下:
不同程式語言的差異:
PHP 7.3 中引入的內聯「xx」修飾符允許忽略字元類別中的空格。但是,並非所有正規表示式風格(例如 Ruby 和 JavaScript)都支援此語法。具體來說,在 JavaScript 中,「[]」是一個始終無法匹配的標記,而「[^]」則匹配任何字元。
以上是PCRE 中的「[^][]」正規表示式如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!