gpt4 book ai didi

c# - 在括号之间捕获并按字符拆分

转载 作者:太空狗 更新时间:2023-10-30 00:59:52 25 4
gpt4 key购买 nike

我有这个正则表达式:{([^}]+)}

它成功捕获括号内容,例如你好,{foo} 和 {bar}

我还想捕获由字符分隔的匹配项中的组,例如你好 {foo:bar} 和 {hello:world}

前者会在 {foo:bar} 上与组 {foo}{bar} 产生匹配,而后者 {hello:world} 与组 {hello}{world}

我不精通正则表达式,我试过这个:{([^}]+)(:([^}]))?}{( [^}]+)(\:([^}]))?} 如果 : 是特殊字符。

我需要进行哪些修改才能成功?

最佳答案

要匹配两种类型的字符串,您可以使用

{([^{}:]+)(?::([^{}]+))?}

参见 regex demo

详情

  • { - { 字符
  • ([^{}:]+) - 第 1 组:{} 以外的一个或多个字符:
  • (?::([^{}]+))? - 一个可选序列:
    • : - 冒号
    • ([^{}]+) - 第 2 组:除 {}
    • 之外的 1+ 个字符
  • } - } 字符。

关于c# - 在括号之间捕获并按字符拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52516343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com