Python正则表达式匹配和搜索不起作用

时间:2015-03-26 01:38:22

标签: 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 

但是,如果我使用正则表达式,我将能够同时搜索2131421314123

基本上我有一个包含这些字符串的字符串列表。

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

1 个答案:

答案 0 :(得分:2)

re.search会在字符串中的任意位置找到您的模式,而re.match只会在开头找到它。因此,对于您的示例字符串,re.match将不会返回值。