正则表达式从带括号的python pandas数据框列中提取模式

问题描述

我有这个特定的字符串:氧化标记(2-3,20mm-110mm),在数据框列中。 括号之间的文本可以是任何内容。

我尝试通过以下代码提取此内容:

str.extract('(Oxidation mark )[\(][.]*[\)]')

但它给予 NaN .

解决方法

你可以使用

\b(Oxidation\s+mark\s*\([^()]*\))

参见regex demo

详情

  • \b - 一个词边界
  • (Oxidation\s+mark\s*\([^()]*\)) - 第 1 组:
    • Oxidation - 一个词
    • \s+ - 一个或多个空格
    • mark - 另一个词
    • \s* - 零个或多个空白字符
    • \([^()]*\) - (,除 () 之外的零个或多个字符,然后是 ) 字符。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...