正则表达式提取数据

时间:2014-09-01 06:09:52

标签: java regex whois

我有一百个不同顶级域名的Whois文件(.com,.se,.uk,.cz等)。每种都有不同的格式。我的主要任务是提取注册商,注册人,有效期,更新日期等信息。以下代码适用于com。净。组织与信息。我使用的是Java SE 6。

   Admin contact: "\\bAdmin\\sEmail:\\s*\\w+\\-*\\w*\\.*\\w*@\\w+(\\.\\w+)+"
   Technical contact: "\\bTech\\sEmail:\\s*\\w+\\-*\\w*\\.*\\w*@\\w+(\\.\\w+)+"
   Whois Registrant: "\\bRegistrant\\sName:\\s*\\w+\\-*\\.*\\w+\\s*\\w*"
   Registrar: "\\bRegistrar:\\w+\\.*\\w*"
   Registered on Date: "\\bCreation\\sDate:\\s*\\d+-\\d+-\\d+T\\d+:\\d+:\\d+Z"
   Expiry Date: "\\bExpiry\\sDate:\\s*\\d+-\\d+-\\d+T\\d+:\\d+:\\d+Z"
   Updated Date: "\\bUpdated\\sDate:\\s*\\d+-\\d+-\\d+T\\d+:\\d+:\\d+Z"
   Name Servers: "\\bName\\sServer:\\s*\\w+\\d*\\.*\\w*\\-*\\w*(\\.\\w+)+"
   Registrant Status: "\\bDomain\\sStatus:\\s*\\w+"

如何为其他TLD添加上述各点的替代方案。例如 :  我想拥有名称服务器:

"\\bName\\sServer:\\s*\\w+\\d*\\.*\\w*\\-*\\w*(\\.\\w+)+" 
OR 
alternative pattern 
OR 
alternative Pattern

可行吗?如果没有,还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

替代模式可以与|运算符连接:

"\\bName\\sServer:\\s*\\w+\\d*\\.*\\w*\\-*\\w*(\\.\\w+)+|alternative pattern|alternative Pattern"

(如果这不是你需要的,那么你的问题应该重新制定。)