我需要构建一个正则表达式来匹配这样的东西:
“PQR 和 XYZ 或(ABC 或 LMN)”
请帮助我实现这一目标!
正则表达式不可能正确匹配嵌套。
为此,您需要一个上下文无关的语法。
我在您的评论中看到,您提到您将使用 .NET。
.NET 中的“正则表达式”库实际上比计算机科学中人们通常所说的“正则表达式” 更强大。
可以使用 .NET 正则表达式来匹配使用平衡组定义的嵌套括号:
\(
(?>
[^()]+
|
(?<DEPTH>\()
|
(?<-DEPTH>\))
)*
(?(DEPTH)(?!))
\)
要使此模式起作用,您需要忽略空格。