2015-03-26 3 views
0

Предположим, у меня есть это регулярное выражение.Поиск и поиск Python Regex не работает

[0-9 ]{5,7} 

Я использую python.

import re 
re.search(r'[0-9 ]{5,7}', '1123124213') 

Это вернет положительное значение для этого.

Однако, если я должен был использовать

re.match(r'[0-9 ]{5,7}', '1123124213') 

Однако моя строка, как правило, что-то вроде:

I am going home tonight call me at 21314123 

лексемизацию не работает. Как это решить?

Я хотел был бы совместить это.

I am going home tonight call me at 21314 

но не

I am going home tonight call me at 21314123 

Однако, если я должен был использовать регулярные выражения я смог бы найти как 21314 и 21314123

В принципе у меня есть список строк, содержащих такие строки.

I am going home tonight call me at 213123 
I am going home tonight call me at 21313 
I am going home tonight call me at 2131 
I am going home tonight call me at 21314213123 
I am going home tonight call me at 21314 

и я хотел бы использовать регулярное выражение/любые методы, чтобы извлечь те, которые содержат

I am going home tonight call me at 21314 
+0

Попробуйте '' re.search''? –

+0

Решите что? Любые ошибки? – Marcin

+0

@ase вы могли бы объяснить логику вышеизложенного? –

ответ

2

re.search будет найти свой шаблон в любом месте строки, в то время как re.match только найти его в самом начале. Итак, для вашей строки примера re.match не вернет значение.

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