2016-07-26 2 views
0

Так у меня есть этот код, извлечь целое число из строки вида: Dir.<int>Python рег Exp - матч номер

def MatchDir(s): 
     RegExp = re.compile('Dir.([0-9]+)') 
     result = RegExp.match(s) 
     try: 
      return int(result.group(1)) 
     except: 
      return None 

проблема заключается в том, что она также соответствует строкам, таким как Dir.123_test, не желательные.

Как решить эту проблему, чтобы соответствовать только струны от Dir.<int> (не символ не является приемлемым до или после этой специфической формы)

+0

'\ b' или' $ 'в зависимости от вашего случая. – dnit13

ответ

1

Использование ^ и $, чтобы соответствовать начало и конец строки:

RegExp = re.compile('^Dir.([0-9]+)$') 

Это не позволит ничего, кроме Dir., и номер

Смежные вопросы