【问题标题】:Regex in Redshift to access string between nested parenthesesRedshift中的正则表达式访问嵌套括号之间的字符串
【发布时间】:2021-11-01 03:43:21
【问题描述】:

如果我有一个字符串“CompletenessConstraint(Completeness(contentname,None))”

如何只访问嵌套括号内的部分?

例如在上面的字符串中,我想访问'contentname'。

我尝试了以下

str.extract(r"\((.*?)\)", expand=False)

并且只获得“完整性(内容名称,无”。

任何帮助将不胜感激。

【问题讨论】:

  • 第二个值总是None?
  • 是的。完整性约束(完整性(abc,无))完整性约束(完整性(abc,无))完整性约束(完整性(abc,无))完整性约束(完整性(abc,无))。我只想要字符串'abc'

标签: python-3.x regex pandas


【解决方案1】:

另一种选择是在最后一个左括号后捕获 1 个或多个单词字符,并匹配尾随逗号后面的任何字符,( 或换行符除外。

\((\w+),[^(\n\r]*$

Regex demo

【讨论】:

    【解决方案2】:

    你可以使用这个模式:\b(?!.*\()\w+(?=,)

    见正则表达式Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-24
      • 2011-07-17
      • 2010-09-29
      • 2012-07-03
      • 1970-01-01
      相关资源
      最近更新 更多