正则表达式替换 - 可选的启动@字符

时间:2013-07-01 02:26:12

标签: regex preg-replace

目前我正在使用/[^a-z0-9]/i和PHP的 preg_replace 来获取一个新字符串,其中所有字符都是非az AZ 0-9剥离的,所以我留下了一个仅包含az AZ 0-9的字符串。

我的问题是我现在希望字符串能够在字符串中包含可选的@ -char作为第一个字符。

示例:

@aåböc - > @abc

abcåäö1@ 23 - > abc123

我怎样才能实现这一目标?

感谢您对此有任何帮助。 :)

2 个答案:

答案 0 :(得分:2)

使用以下正则表达式:

/([^a-z0-9@]|(?<!^)@)/i

输入/输出:

@aåböc      -> @abc
abcåäö1@23  -> abc123

See demo code here.

答案 1 :(得分:1)

您可以使用此正则表达式替换

/(?!^@)[^a-zA-Z\d]+/

empty string

Demo