2013-07-01 17 views
2

目前我使用/[^a-z0-9]/i連同PHP的preg_replace得到一個新的字符串與所有字符是不AZ AZ 0-9剝離出來,所以我剩下一個字符串包含只有az AZ 0-9。正則表達式替換 - 可選的起始@字符

我的問題是,我現在希望字符串能夠包含可選@ -char作爲字符串中的第一字符。

例子:

@aåböc- > @abc

abcåäö[email protected] 23 - > ABC123

我怎樣才能做到這一點?

感謝任何幫助。 :)

回答

2

使用以下正則表達式:

/([^[email protected]]|(?<!^)@)/i 

輸入/輸出:

@aåböc  -> @abc 
abcåäö[email protected] -> abc123 

See demo code here.

+0

非常感謝!我用不同的輸入來試用你的正則表達式,它看起來像我想要的那樣工作。現在我終於可以睡了(上午5點),哈哈。謝謝。 – Anka

1

你可以用這個表達式

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

機智更換^ h

empty string 

Demo

+0

@ isaach1000它實際上[作品](http://ideone.com/4cj8jF)在PHP中 – Anirudha