我有一个.txt文件,其中包含更改日志信息,会有一些详细信息:
* Mon Jan 31 2012 raj sharma<john.doe@gmail.com> - 1.4.5.6
- This is the change
现在,此更改日志将具有以下特定标准:
-* day month date year name <email address inside brackets> - version numbr
现在我必须在python中构造一个方法,该方法将验证用户根据上述标准语法输入的更改日志的语法。那么,我该如何制作可以验证changelog.txt语法的函数?
答案 0 :(得分:0)
我建议使用正则表达式匹配该行并提取匹配组,并逐个验证匹配组的内容。例如
#!/usr/bin/python
import re
line = '* Monday Jan 31 2012 Ram Sharma <Ram.Sharma @gmail.com> - 1.4.5.6'
m = re.compile(r"^\* ([A-Za-z]+ [A-Za-z]+ [0-9]+ [0-9]+) (.*) <(.*@.*)> - ([0-9.]+)$")
result = m.search(line)
if result:
print result.lastindex
for i in range(result.lastindex+1):
print i, result.group(i)
使用这段代码,您可以提取日期,名称,电子邮件和发布版本,如下所示:
4
0 * Monday Jan 31 2012 Ram Sharma <Ram.Sharma @gmail.com> - 1.4.5.6
1 Monday Jan 31 2012
2 Ram Sharma
3 Ram.Sharma @gmail.com
4 1.4.5.6
您可以在result.group(1)中验证日期,在result.group(3)中验证电子邮件地址,在result.group(4)中验证发布版本。希望这个方向有所帮助。