Skip to main content
 首页 » 编程设计

Python 正则表达式搜索只找到第一个模式

2024年11月01日32lonelyxmas

我正在使用 python 的 re 模块在字符串中搜索特定单词。

举个简单的例子,我有一个名为 valid_words 的列表和一个名为 valid_string 的字符串。

valid_string = "Use Use%" 
valid_words = ['Use', 'Use%'] 
 
for header in valid_words: 
  regex_search = re.search("\\b"+header+"\\b",  valid_string) 
  if regex_search: 
    print header 

但是,这只会返回 Use 而不会返回 Use%。我认为这是因为“Use%”中的 % 被视为正则表达式。我对么?有办法解决这个问题吗?

请您参考如下方法:

这里的问题是你使用了单词边界,然而,对于你的第二个单词 'Use%',单词边界实际上出现在 e 和 之间>%。例如:

>>> re.search('.\\b','Use%').group(0) 
'e'