python正则通过findall函数正则查找匹配的字串
在Python中,可以使用正则表达式的findall()函数查找所有与正则表达式匹配的子串,并以列表的形式返回结果。
下面是一个简单的例子,使用正则表达式查找字符串中所有的数字:
import re text = 'The prices are $15 and $25' matches = re.findall(r'\d+', text) print(matches) # 输出:['15', '25']
在这个例子中,使用正则表达式模式r'\d+'匹配字符串中的数字,并使用re.findall()方法查找所有匹配到的数字,并以列表的形式返回结果。
需要注意的是,如果正则表达式包含捕获组,findall()方法只会返回捕获组匹配到的内容。例如,下面的代码从一个URL中提取出域名信息:
import re url = 'https://www.example.com/path/to/page.html' matches = re.findall(r'(https?://)?([\w\.]+)(/\w+)*/?\w+\.\w+', url) print(matches) # 输出:[('', 'www.example.com', '/path/to', '.html')]
在这个例子中,使用正则表达式模式r'(https?://)?([\w.]+)(/\w+)*/?\w+.\w+'匹配URL中的域名信息,并使用捕获组将域名信息包含在内,然后使用re.findall()方法查找所有匹配到的内容,并以列表的形式返回结果。由于该正则表达式包含捕获组,因此findall()方法只会返回捕获组匹配到的内容。在这个例子中,返回的结果是一个包含一个元组的列表,元组中包含了捕获组匹配到的内容。
相关文章