正则表达式 - 查找大括号之间包含一个或多个非数字字符的任何块

问题描述 投票:0回答:1

我想在文本中查找大括号之间所有出现的包含任何非数字字符的块。

例如文中:

something {34dj 4s} and something else {335} and more {dgw} and {6} or whatever

它应该匹配 2 个项目:

{34dj 4s}
{dgw}

我已经尝试过这个(我在 .net c# 中使用它),但它只会匹配仅包含非数字字符的出现...:

@"{[^0-9]*}"
regex regex-negation
1个回答
0
投票

您可以使用此正则表达式来匹配

{...}
且其间至少有一个非数字:

\{[0-9]*[^0-9}][^}]*}

正则表达式演示

正则表达式详细信息:

  • \{
    :匹配
    {
  • [0-9]*
    :匹配0个或多个数字
  • [^0-9}]
    :匹配非数字
  • [^}]*
    :匹配 0 个或多个非
    }
  • 的任何字符
  • }
    :匹配
    }
© www.soinside.com 2019 - 2024. All rights reserved.