pandas.Series.str.findall#
- Series.str.findall(pat, flags=0)[源代码]#
查找序列/索引中模式或正则表达式的所有匹配项。
相当于应用
re.findall()
到系列/索引中的所有元素。- 参数
- pat应力
模式或正则表达式。
- flags整型,默认为0
旗帜来自
re
模块,例如 re.IGNORECASE (默认值为0,表示没有标志)。
- 退货
- 字符串列表的序列/索引
此系列/索引的每个字符串中模式或正则表达式的所有非重叠匹配。
参见
count
对序列/索引的每个字符串中出现的模式或正则表达式进行计数。
extractall
对于Series中的每个字符串,从正则表达式的所有匹配项中提取组,并返回一个DataFrame,每个匹配项有一行,每个组有一列。
re.findall
等价物
re
函数以字符串列表的形式传递给字符串中模式或正则表达式的所有非重叠匹配项。
示例
>>> s = pd.Series(['Lion', 'Monkey', 'Rabbit'])
搜索模式‘Monkey’将返回一个匹配项:
>>> s.str.findall('Monkey') 0 [] 1 [Monkey] 2 [] dtype: object
另一方面,搜索模式‘Money’不会返回任何匹配项:
>>> s.str.findall('MONKEY') 0 [] 1 [] 2 [] dtype: object
可以将标志添加到模式或正则表达式中。例如,要找到忽略大小写的模式‘Money’:
>>> import re >>> s.str.findall('MONKEY', flags=re.IGNORECASE) 0 [] 1 [Monkey] 2 [] dtype: object
当模式与序列中的多个字符串匹配时,将返回所有匹配项:
>>> s.str.findall('on') 0 [on] 1 [on] 2 [] dtype: object
也支持正则表达式。例如,搜索以单词‘on’结尾的所有字符串如下所示:
>>> s.str.findall('on$') 0 [on] 1 [] 2 [] dtype: object
如果在同一字符串中多次找到该模式,则返回多个字符串的列表:
>>> s.str.findall('b') 0 [] 1 [] 2 [b, b] dtype: object