2013-04-23 57 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