2016-02-29 58 views

回答

1

這似乎是PCRE問題的結果。 3V4L上的輸出顯示事情在v5.4.41之後的v5.4系列以及v5.5.10之後的v5.5系列中開始工作。現在

,看着PHP更新日誌:

所以升級遠離PCRE V8 .32解決了問題(請注意,v5.6系列在v5.6.0中以PCRE v8.34開始)。縱觀PCRE changelog,我們看到下Version 8.34 15-December-2013節,第31項:

升級的POSIX類的處理[:圖:],[:打印:]和[:PUNCT:當PCRE_UCP設置以便包含與Perl在Unicode模式下相同的字符。

這看起來是修改你的測試用例的改變。

+1

有一點需要補充:'\ P {C}'[相當於](http://www.regular-expressions。當使用unicode修飾符時,'/ [^ \ P {C}]/u'應該與'/ [^ [:print:]]/u'但是[在所有版本中都可以使用](https://3v4l.org/GqaYE)。 –

+0

謝謝@nj_!我直接用這些正則表達式運行'pcregrep'的一些測試後懷疑這個確切的更新日誌條目 – xuanji

相關問題