Skip to main content
 首页 » 编程设计

python之使用正则表达式搜索单词的开头

2025年05月04日2252php

如何编写正则表达式,我们可以找到所有以指定字符串开头的单词。对于前-

a = "asasasa sasDRasas dr.klklkl DR.klklklkl Dr klklklkklkl" 

在这里,我想使用 ignorecase 获取所有以 dr 开头的单词。我试过了,但所有函数的结果都是 dr 在单词中找到,而不是单词的开头。

提前致谢。

请您参考如下方法:

您可以使用 \b 来查找单词边界,并使用 re.IGNORECASE 标志进行不区分大小写的搜索。

import re 
 
a = "asasasa sasDRasas dr.klklkl DR.klklklkl Dr klklklkklkl" 
for match in re.finditer(r'\bdr', a, re.IGNORECASE): 
    print 'Found match: "{0}" at position {1}'.format(match.group(0), match.start()) 

这将输出:

Found match: "dr" at position 18 
Found match: "DR" at position 28 
Found match: "Dr" at position 40 

此处,模式 \bdr 匹配 dr,但前提是它位于单词的开头。这也将产生与 driving 等字符串的匹配。如果您只想查找 dr 作为唯一词,请使用 \bdr\b。

我使用 re.finditer()扫描搜索字符串并在循环中生成 dr 的每个匹配项。 re.IGNORECASE 标志导致 dr 也匹配 DR、Dr 和 dR .