具有匹配嵌套括号的语言不是正则语言,因此不能被正则表达式识别。一些正则表达式实现(例如.NET框架中的实现)具有处理此类情况的扩展功能,但使用起来真的很麻烦。因此,我建议使用可用的解析器或自己实现一个简单的解析器(出于乐趣而为)。有关.NET实现中的扩展,请参见MSDN on balancing groups。
- Daniel Brückner
3
我想在 XML schema 中使用这个 RegExp 作为模式来验证属性值。您有什么建议吗? - WSK
“但这真的不好玩!”这话太谦虚了!试图剖析这样的怪物简直是一场噩梦!:) - Bart Kiers
如果你想使用XML领域中可用的工具,可以尝试使用XSLT。XSLT是一种图灵完备语言,因此能够完成这项工作,但我无法确切地告诉你需要多少努力以及结果是否会是一个好的代码片段。 - Daniel Brückner