【问题标题】:How would i create a regex for the following [closed]我将如何为以下内容创建正则表达式 [关闭]
【发布时间】:2018-10-26 04:11:06
【问题描述】:
some value {arg1} {arg2} {arg3}
another value {arg1}
idkhere {arg1} {arg2}

我正在寻找一个将每个 {arg\d} 作为一个组匹配的正则表达式,因此如果一行中有 3 个 args,它将有 3 个组,如果一个则只有一个组。我是正则表达式的新手,所以不知道该怎么做。

【问题讨论】:

  • 请更具体。一个代码 sn-p 会有所帮助。
  • 我只需要帮助创建一个匹配给定字符串中所有 {arg} 的正则表达式。返回字符串中每个 arg 的新组。例如,如果有 {arg1} {arg2} {arg3} 那么正则表达式将返回 3 个组
  • 群组不是这样工作的。你可能是指3场比赛?试试这个:\{arg\d\}。如果您愿意,您仍然可以使用(\{arg\d\}) 来将每个匹配项放在一个组中。

标签: python regex


【解决方案1】:

据我了解,正则表达式模式中的组数是预先确定的。如果您需要遍历所有匹配项,您可以执行以下操作:

import re

text = """some value {arg1} {arg2} {arg3}
another value {arg1}
idkhere {arg1} {arg2}"""

pattern = re.compile(r"{arg\d}")

for i in re.findall(pattern, text):
    print(i)

【讨论】:

  • 谢谢,这是我需要的:)。无法将答案标记为有效,因为我必须等待 8 分钟
  • @Ryan 很高兴为您提供帮助 :)
猜你喜欢
  • 2013-07-20
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多