Discussion:
[問題] 關於regular expression的一點小疑惑
(时间太久无法回复)
巧克力魔人
2007-02-22 13:32:06 UTC
Permalink
我在網路上找到的一個拿來檢查E-mail格式的regular expression

str.matches(
"^[_a-z0-9-]+([.][_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$")

我也有看過關於這個API的介紹
http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html
但還是有不太懂的地方想跟大家請教
希望大家能告訴我答案

[_a-z0-9-]+代表
a~z或0~9(範圍),至少出現一次

可是前面的_,和後面的-
分別代表什麼意思啊?
不太了解說
API網頁裡面好像也沒特別提到

有人知道的話,可以告訴我嗎?
謝囉謝囉 ^^

--
和怪物戰鬥的人,別讓自己也變成了怪物...
當你注視著深淵時,深淵也正注視著你...
弗萊德里希‧尼采

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.9.170
ArssertionError
2007-02-22 14:42:31 UTC
Permalink
※ 引述《Barlog (巧克力魔人)》之銘言:
: "^[_a-z0-9-]+([.][_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$")
: 我也有看過關於這個API的介紹
: http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html
: 但還是有不太懂的地方想跟大家請教
: 希望大家能告訴我答案
: [_a-z0-9-]+代表
: a~z或0~9(範圍),至少出現一次
: 可是前面的_,和後面的-
比較完整的E-mail檢查應該是下面這樣
"^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$"
在@字元前有英文字母或數字或.或-或_
在之後有數節字串
最後的小數點後只能有二個或三個英文字母
前面的_跟後面的-就只是_跟-而已
有錯請指正

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.86.145

Loading...