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

Regular expression to extract pattern form python pandas dataframe column with parenthesis

我有这个特定的字符串:数据框列中的氧化标记 (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* - 零个或多个空白字符
    • \([^()]*\) - (,除 () 之外的零个或多个字符,然后是 ) 个字符。