我正在使用re.findall()从HTML文件中提取一些版本号:
>>> import re >>> text = "
Test0.2.1.zip | Test0.2.1 |
但我想只得到那些没有以点结尾的那些.文件名可能并不总是.zip所以我不能只在正则表达式中粘贴.zip.
我想结束:
['0.2.1', '0.2.1']
任何人都可以建议使用更好的正则表达式吗?:)
re.findall(r"Test([0-9.]*[0-9]+)", text)
或者,有点短:
re.findall(r"Test([\d.]*\d+)", text)
顺便说一下 - 你不能逃避字符类中的点:
[\.0-9] // matches: 0 1 2 3 4 5 6 7 8 9 . \ [.0-9] // matches: 0 1 2 3 4 5 6 7 8 9 .