dask.dataframe.Series.str.findall

dask.dataframe.Series.str.findall

dataframe.Series.str.findall(pat, flags: int = 0)

在 Series/Index 中查找所有模式或正则表达式的出现。

此文档字符串是从 pandas.core.strings.accessor.StringMethods.findall 复制的。

Dask 版本可能存在一些不一致性。

等同于对 Series/Index 中的所有元素应用 re.findall()

参数
patstr

模式或正则表达式。

标志int, 默认值为 0

来自 re 模块的标志,例如 `re.IGNORECASE`(默认值为 0,表示没有标志)。

返回
字符串列表的系列/索引

在此系列/索引的每个字符串中,模式或正则表达式的所有非重叠匹配项。

参见

count

计算Series/Index中每个字符串中模式或正则表达式的出现次数。

extractall

对于Series中的每个字符串,提取所有匹配的正则表达式组,并返回一个DataFrame,其中每行对应一个匹配项,每列对应一个组。

re.findall

在字符串中,所有不重叠的模式或正则表达式的匹配项,作为字符串列表返回的等效 re 函数。

示例

>>> s = pd.Series(['Lion', 'Monkey', 'Rabbit'])  

搜索模式 ‘Monkey’ 返回一个匹配:

>>> s.str.findall('Monkey')  
0          []
1    [Monkey]
2          []
dtype: object

另一方面,搜索模式 ‘MONKEY’ 没有返回任何匹配项:

>>> s.str.findall('MONKEY')  
0    []
1    []
2    []
dtype: object

可以在模式或正则表达式中添加标志。例如,要查找忽略大小写的模式 ‘MONKEY’:

>>> 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