2013-05-15 2 views
0

У меня возникли проблемы с сопоставлением цифры в строке с Python, где она должна быть четко подобранной. Он даже не соответствует [0-9][\d] или просто 0. Где мой контроль?Строка Regex не соответствует

import re 

file_without_extension = "/test/folder/something/file_0" 

if re.match("[\d]+$", file_without_extension): 
    print "file matched!" 
+0

С какой целью вы пытаетесь точно соответствовать? Вы пытаетесь получить бит между косой чертой? или просто имя файла в конце? Или буквально просто номер в конце? – o0rebelious0o

+0

Просто номер. –

+0

Вы пытаетесь проверить, существует ли число, например, использовать поиск или извлекать из него номер, т. Е. Re.findall? – o0rebelious0o

ответ

4

Читайте документацию: http://docs.python.org/2/library/re.html#re.match

Если ноль или более символов в начиная из строки

Вы хотите использовать re.search (или re.findall)

+0

Спасибо, я только убедился, что регулярное выражение было правильным пренебречь, если я даже использовал правильную функцию. –

3

re.match «привязан» к началу строки. Используйте re.search.

0

Использовать повторно .search вместо re.match.

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