相关疑难解决方法(0)

正则表达式可以用于匹配嵌套模式吗?

是否可以编写与未出现次数的嵌套模式匹配的正则表达式?例如,当外括号内嵌有未知数量的打开/关闭括号时,正则表达式是否可以匹配开括号和右括号?

例如:

public MyMethod()
{
  if (test)
  {
    // More { }
  }

  // More { }
} // End
Run Code Online (Sandbox Code Playgroud)

应该匹配:

{
  if (test)
  {
    // More { }
  }

  // More { }
}
Run Code Online (Sandbox Code Playgroud)

regex nested finite-automata

223
推荐指数
8
解决办法
11万
查看次数

使用RegEx平衡匹配括号

我正在尝试创建一个.NET RegEx表达式,它将正确地平衡我的括号.我有以下RegEx表达式:

func([a-zA-Z_][a-zA-Z0-9_]*)\(.*\)
Run Code Online (Sandbox Code Playgroud)

我想要匹配的字符串是这样的:

"test -> funcPow((3),2) * (9+1)"
Run Code Online (Sandbox Code Playgroud)

应该发生什么是正则表达式应该匹配从funcPow第二个右括号到第二个右括号.它应该在第二个右括号后停止.相反,它一直匹配到最后一个右括号.RegEx将返回此:

"funcPow((3),2) * (9+1)"
Run Code Online (Sandbox Code Playgroud)

它应该返回:

"funcPow((3),2)"
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助将不胜感激.

.net c# regex

30
推荐指数
2
解决办法
2万
查看次数

标签 统计

regex ×2

.net ×1

c# ×1

finite-automata ×1

nested ×1