我試圖編寫正則表達式來匹配字符串,除了帶有下劃線的字符串。使用正則表達式匹配除下劃線以外的任何字符
我有這個到目前爲止/[A-Za-z0-9]+/
但我不知道要包含什麼,以使它不需要下劃線。
UPDATE:
是應該使這更清楚了蝙蝠。 我試圖匹配一個電子郵件地址,但不是電子郵件地址的下面部分中有一個下劃線,這是我迄今總共有的。 /[A-Za-z_0-9][email protected][A-Za-z0-9]+\.(com|ca|org|net)/
的答案作爲然而,沒有工作
我試圖編寫正則表達式來匹配字符串,除了帶有下劃線的字符串。使用正則表達式匹配除下劃線以外的任何字符
我有這個到目前爲止/[A-Za-z0-9]+/
但我不知道要包含什麼,以使它不需要下劃線。
UPDATE:
是應該使這更清楚了蝙蝠。 我試圖匹配一個電子郵件地址,但不是電子郵件地址的下面部分中有一個下劃線,這是我迄今總共有的。 /[A-Za-z_0-9][email protected][A-Za-z0-9]+\.(com|ca|org|net)/
的答案作爲然而,沒有工作
如果我明白你在問什麼 - 匹配字符串,除了包含下劃線的字符串以外 - 這需要正則表達式lookahead。
原因是正則表達式一次只能操作一個字符。所以如果我想知道我是否應該匹配一個角色,但是隻有當後面沒有下劃線時,我才需要使用前視。
^((?!_)[A-Za-z0-9])+$
?!
是負先行操作
編輯:
所以,你希望這是在@符號之前的部分最多隻有一個下劃線,並在部分之後沒有下劃線?
^[A-Za-z0-9]+_?[A-Za-z0-9][email protected][A-Za-z0-9]+\.(com|ca|org|net)$
這是如何確保在@之後沒有下劃線的? – CodyBugstein 2013-03-04 17:16:35
由於字符組[A-Za-z0-9]不包含下劃線字符,因此下劃線不匹配。 @符號後面的唯一有效字符串是一個或多個字符,後跟句點,後跟(com | ca | org | net)之一。 – 2013-03-04 17:19:38
如果你還沒有,我推薦一個網站,如[Regex Pal](http://regexpal.com)來測試你的正則表達式對測試字符串。 – 2013-03-04 17:21:39
/^[^_]+$/
將匹配包含下劃線以外的任何字符1個或多個字符的字符串。
'^ [^ _] + $'。這意味着沒有下劃線的任何字符串。例如,這個評論或你的整個問題。那是你要的嗎? – FakeRainBrigand 2013-03-04 16:12:14