polars.Series.str.extract#
- Series.str.extract(pattern: IntoExprColumn, group_index: int = 1) Series[source]#
从提供的模式中提取目标捕获组。
- Parameters:
- pattern
一个有效的正则表达式模式,包含至少一个捕获组,与regex crate兼容。
- group_index
目标捕获组的索引。 组0表示整个模式,第一个组从索引1开始。 默认为第一个捕获组。
- Returns:
- Series
数据类型为
String的系列。如果原始值为空或正则表达式未捕获任何内容,则包含空值。
注释
要使用标志修改正则表达式的行为(例如多行匹配),请使用内联的
(?iLmsuxU)语法。例如:>>> s = pl.Series( ... name="lines", ... values=[ ... "I Like\nThose\nOdds", ... "This is\nThe Way", ... ], ... ) >>> s.str.extract(r"(?m)^(T\w+)", 1).alias("matches") shape: (2,) Series: 'matches' [str] [ "Those" "This" ]
有关内联表达式修饰符使用的更多信息,请参阅正则表达式库的分组和标志部分。
示例
>>> s = pl.Series( ... name="url", ... values=[ ... "http://vote.com/ballon_dor?ref=polars&candidate=messi", ... "http://vote.com/ballon_dor?candidate=ronaldo&ref=polars", ... "http://vote.com/ballon_dor?error=404&ref=unknown", ... ], ... ) >>> s.str.extract(r"candidate=(\w+)", 1).alias("candidate") shape: (3,) Series: 'candidate' [str] [ "messi" "ronaldo" null ]