2013-06-03 19 views
0

我有一個正則表達式,我懷疑它最初是爲.NET Regex引擎編寫的,我試圖在PHP中使用它。它包含似乎並沒有被PCRE支持下列字符大小寫(不匹配,返回,但沒有一個錯誤):正則表達式字符大小寫兼容性

[a-z-[cfx]] 

preg_match('/[a-z-[cfx]]/', 'a'); => int(0) 
preg_match('/[a-z-[cfx]]/', 'b'); => int(0) 
preg_match('/[a-z-[cfx]]/', 'c'); => int(0) 
preg_match('/[a-z-[cfx]]/', 'f'); => int(0) 
preg_match('/[a-z-[cfx]]/', 'x'); => int(0) 

我檢查a cross-platform guide,但一直沒能找出這個子實際做了什麼 - 它是a-z沒有cfx?如果是這樣,那麼在PCRE中寫這個最好的方法是什麼?

+0

首先,你想匹配什麼?你知道嗎,單獨的'a-z'會匹配從a到z的所有字母。所以'cfx'沒有任何意義...... – HamZa

回答

2

它確實從外部字符類中排除字符。你可以閱讀關於它here

要在PCRE中實現同樣的效果,您可以使用沿着/[abdeg-wyz]/的行。

+0

啊,它現在有意義** + 1 **! – HamZa

相關問題