gpt4 book ai didi

c# - 正则表达式替换除大小写 '{0}' 之外的所有花括号

转载 作者:行者123 更新时间:2023-11-30 21:27:08 27 4
gpt4 key购买 nike

我想验证一个字符串:

  • 它可能包含零到多次 {0}
  • 必须删除所有其他出现的 { 或 }。

所以:'AbC{de{0} x{1}}' 必须变成 'AbCde{0} x1'

我试过这个:

value = Regex.Replace(value, @"({|})+(?!{0})", string.Empty);

但这给了我错误:

Regex issue: Quantifier(x,y) following nothing.

怎么了?

最佳答案

你可以使用

Regex.Replace(text, @"(\{0})|[{}]", "$1")

或者,支持 {...} 中的任何 ASCII 数字,

Regex.Replace(text, @"(\{[0-9]+})|[{}]", "$1")

参见 regex demo

详情

  • (\{0}) - 捕获组 1($1 从替换字符串中引用该值):{0}子串
  • | - 或者
  • [{}] - 一个 {} .

另一种环视方法是可能的:

Regex.Replace(text, @"{(?!0})|(?<!{0)}", string.Empty)

参见 another regex demo .在这里,{(?!0})匹配 {后面没有 0}(?<!{0)}匹配 }不以 {0 开头.

关于c# - 正则表达式替换除大小写 '{0}' 之外的所有花括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58282370/

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