Php 需要正则表达式来删除运算符和特殊字符

Php 需要正则表达式来删除运算符和特殊字符,php,regex,Php,Regex,我需要下面的正则表达式 H7X*4C9 H7X=4C9 H7X-4C9 H7X#4C9 需要将以上一项更改为(需要删除特殊字符), H7X4C9 除了H7X+4C9(需要在正则表达式中单独转义+)使用字符类 $string = array('H7X*4C9', 'H7X=4C9', 'H7X-4C9', 'H7X#4C9', 'H7X+4C9'); foreach($string as $str) { echo preg_replace("/[^a-z0-9+]/i", '', $s

我需要下面的正则表达式

H7X*4C9
H7X=4C9
H7X-4C9
H7X#4C9
需要将以上一项更改为(需要删除特殊字符),
H7X4C9


除了
H7X+4C9
(需要在正则表达式中单独转义+)

使用字符类

$string = array('H7X*4C9', 'H7X=4C9', 'H7X-4C9', 'H7X#4C9', 'H7X+4C9');

foreach($string as $str) {
    echo preg_replace("/[^a-z0-9+]/i", '', $str) . "\n";
}
说明:

[]
标记字符类/列表(即允许/不允许哪些字符)

^
内部
[]
告诉引擎使字符不被允许

关闭后的
i
告诉引擎忽略大写字母


通过使用字符类

$string = array('H7X*4C9', 'H7X=4C9', 'H7X-4C9', 'H7X#4C9', 'H7X+4C9');

foreach($string as $str) {
    echo preg_replace("/[^a-z0-9+]/i", '', $str) . "\n";
}
说明:

[]
标记字符类/列表(即允许/不允许哪些字符)

^
内部
[]
告诉引擎使字符不被允许

关闭后的
i
告诉引擎忽略大写字母


最好将
+
符号移到字符类之外。@M42要求允许+。这就是为什么它在character类内部。最好将
+
符号移到character类外部。@M42要求允许+。这就是为什么它在character类中。