2016-12-12 8 views
0

Я пытаюсь написать код для проверки формата версии в регулярном выражении. Является ли это правильный способ проверить форматregex to check version

v0.0.0 ->\w\d[0-9].\d[0-9].\d[0-9]

Кроме того, как я сравниваю с помощью Python и селеном веб-драйвер?

def version(self): 
    version = self.getElement("id","version") 
    match = re.search(r'\w\d\.\d\.\d', version) 
    if match: 
     version = match.group() 
     return True 
    return False 
+1

Что происходит, когда вы проверяете его? У вас есть причины думать, что это неверно? –

+1

'\ d' и' [0-9] 'означают одно и то же, а' .' соответствует любому символу. Я бы проверял версию как 'v \ d + \. \ D + \. \ D +' https://regex101.com/r/HbLJoi/1 –

+0

Рассмотрите возможность добавления групп захвата в выражение. –

ответ

3

Нужно ли проверять каждый номер отдельно? Если это так, то вы можете использовать v(\d+)\.(\d+)\.(\d+) и посмотреть на каждой группе re и сравнить.

. будет соответствовать любому символу, так что вам нужно бежать (\) и его \d уже соответствует одной цифре, как это эквивалентно [0-9].