Email地址-URL地址-电话号码提取规则

来源:百度文库 编辑:神马文学网 时间:2024/04/27 21:38:42
Email、URL、电话号码提取规则
这几天因为工作需要,需要在一堆文本中提取如下信息。规则如下:
1. 提取Email地址规则(依据RFC 2822 (RFC2822))
1). 区别字符记号 "@"
Mail 本文中,“@” 的前后地址使用的字符为许可使用的1个或者多个。
2). mail 地址许可使用的字符及最大字符数
Mail 地址可以使用以下82 个字符:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
!#$%&‘*+-./=?^_{|}~
“@”在外的93个ASCII 字符中,禁止使用以下 11 个字符 :
"(),:;<>[\]
包括“@” 最多可以识别64 个字符。 超过64个字节以外的任何允许使用的字符都不能被识别作为E-mail 地址。
延伸阅读:The Elements of an Email Address
RFC 2822
2. 提取URL地址规则(依据RFC 1738 (RFC1738))
1). 区别字符记号(这里简单讨论一般非智能手机使用规则,只支持http访问)
在以下UR L 标识后面跟随一个或多个( 后面 URL 格式中允许使用的) 字符的情况,到一个区分字符(后面URL 格式中允许使用的文字以外的任何其他字符)出现为止均为此URL 的一部分。
http://
https://
2). URL 允许使用的字符及最大字符数
允许使用以下91 个文字:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
!#$%&‘()*+,-./:;=?@[\]^_`{|}~
94个ASCII 文字中,禁止使用以下3个文字:
"<>
包括URL 区别字符最大可以识别256 个字节的字符。 超过256的任何字符URL 将不予识别。
3. 提取电话号码规则
1). 号码可以包括一个和多个以下字符“0”~“9” ,“*”和“#”。
2). 3 <= 号码长度 <= 32
3).“+”可以做为一个号码的开始,但不能计算到号码长度中。
4).“Space”, “-“, “(“, “)”,这四个字符可以穿插在一条电话号码中,但提取后必须忽略掉这些字符,这些字符同样不能计算到号码长度中。
举例如下:
Example Message text Anchored number Number to dial
1 01/01/2005 not anchor -
2 January 2005 January 2005 2005
3 *99# *99# *99#
4 99#2* 99#2* 99#2*
5 *9# *9# *9#
6 +39 not anchor -
7 +391 +391 +391
8 tel:+39 not anchor -
9 tel:+391 tel: +391 +391
10 391 091 391 091 391091
11 +(0)44-8 +(0)44-8 +0448
12 123, 456 123 , 456 Two different num: 123 and 456
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=603787