我有一項任務,它要求我用緊隨其後的子字替換由@
符號終止的字符模式。因此,例如,給出[email protected]
,替換將產生postsymbol
。用嵌入的@符號替換後面的子字
我目前使用這種模式'/(^|\s)@([a-z0-9_]+)/'
做了更換,但我的測試者給我的反饋,在@前面把「,導致更換失敗。
我怎樣才能正確地解決這個模式輸出。類似的東西來'/(^|\s)(@|"@)([a-z0-9_]+)/'
?
我有一項任務,它要求我用緊隨其後的子字替換由@
符號終止的字符模式。因此,例如,給出[email protected]
,替換將產生postsymbol
。用嵌入的@符號替換後面的子字
我目前使用這種模式'/(^|\s)@([a-z0-9_]+)/'
做了更換,但我的測試者給我的反饋,在@前面把「,導致更換失敗。
我怎樣才能正確地解決這個模式輸出。類似的東西來'/(^|\s)(@|"@)([a-z0-9_]+)/'
?
/(^|\s)(@|"@)([a-z0-9_]+)/
如果你添加一個新的match group,$2
變得$3
。
什麼你應該做的是SIM卡層使得"
可選:
...."[email protected]
或者使用一個非獲取匹配組:
....(?:@|"@)....
或者可能把它作爲另一種選擇爲第一組:
....(^|\s|")....
*另請參閱[開源RegexBuddy替代品](http://stackoverflow.com/questions/89718/is-there)和[在線正則表達式測試](http://stackoverflow.com/questions/32282/regex-testing)對於一些有用的工具,或[RegExp.info](http://regular-expressions.info/)更好的教程。 – mario 2013-03-17 23:03:15
感謝您的正則表達式的鏈接..書籤那一個:)去了這個''/(^ | \ s)?@([a-z0-9 _] +)(?)/'' – Grmn 2013-03-17 23:10:24
這是使用PHP ? – Mooseman 2013-03-17 22:53:28
對不起..沒有提及使用preg_replace – Grmn 2013-03-17 22:53:48
你想做什麼? – h4unt3r 2013-03-17 23:00:34