2013-04-23 88 views
0

的PHP代碼:這個正則表達式究竟做了什麼?

$cleanedVer = preg_replace('/[^0-9,.,a-z,A-Z-]/','',$someVer); 

它清潔版本刺痛,但有時清除過多的信息。

我不知道這是什麼PCRE正則表達式做在上面的代碼片段的字符串。任何人都在意解釋?

回答

6

它消除其爲一個字母數字,圓點任何字符,逗號(,)或連字符(。)( - )。

+2

它也不會刪除逗號! – Cal 2013-04-23 15:07:10

+0

@Mathletics在括號內有一個枚舉(列表分隔符是,)。 ^在第一個列表元素中表示什麼?內部 – AlexV 2013-04-23 15:07:17

+1

@AlexV'[]''的'^字符的意思是「不」,那麼正則表達式匹配所述一組未指定任何字符。 – Sammitch 2013-04-23 15:09:31