我正在嘗試編寫用於匹配可執行版本號的正則表達式。
它可以通過兩種方式提供:用於匹配可執行版本號的正則表達式
MAJOR.MINOR.TINY
MAJOR.MINOR.TINY.BUILD_NUMBER
我並不需要解析這些價值,只是檢查是否有匹配。所以,我可以: ^\d+[\.\d+]*$
。好的,但是這個正則表達式會匹配5個或更多版本的字符串,例如1.2.3.4.5
。此外,它將匹配字符串,如1..2.3
。這將是很好的做一些像^[as many digits as you want and only one .]{3,4}$
。
P.S.當然,如果不匹配,我可以首先檢查^(\d*)\.(\d*)\.(\d*)$
,如果不匹配,則檢查^(\d*)\.(\d*)\.(\d*)\.(\d*)$
。但也許有更好的(更聰明)的方式來做到這一點。
我用re
Python模塊,用於檢查匹配:
import re
version_regexp = re.compile(r'^\d+[\.\d+]*$')
versions = ['dsvfsdf',
'1.a.3',
'1.2.4',
'1.4..5.6',
'0.3.1',
'a.b.c.d',
'1,2,3']
for i, sample in enumerate(versions):
print('Sample[%d]: %s' % (i, True if version_regexp.match(sample) else False))
預先感謝您!
D'OUH,真的很簡單。謝謝! – sashadereh