re.findall
是 Python 中正则表达式模块 re
的一个函数,用于在字符串中找到所有非重叠匹配的子串,并返回这些子串的列表。如果没有返回完全匹配,可能是以下几个原因:
*
, +
, ?
, {n}
等)。假设我们有一个字符串 text
,我们想要找到所有的电子邮件地址:
import re
text = """
Hello, my email is example@example.com. You can also reach me at another-example@domain.org.
"""
# 正确的正则表达式
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
matches = re.findall(pattern, text)
print(matches)
re.MULTILINE
标志:matches = re.findall(pattern, text, re.MULTILINE)
通过以上方法,你应该能够解决 re.findall
没有返回完全匹配的问题。如果问题依然存在,请提供更多的上下文信息,以便进一步诊断问题。
领取专属 10元无门槛券
手把手带您无忧上云