【发布时间】:2015-08-18 09:29:14
【问题描述】:
我已经编写了一个正则表达式来解析 BibTex 条目,但我想我使用了 .net 中不允许的东西,因为我得到了 Unrecognized grouping construct
例外。
谁能看出我的错误?
(?<entry>@(\w+)\{(\w+),(?<kvp>\W*([a-zA-Z]+) = \{(.+)\},)(?&kvp)*(\W*([a-zA-Z]+) = \{(.+)\})\W*\},?\s*)(?&entry)*
【问题讨论】:
-
哦,不支持使用
(?&...)递归命名子模式。 -
我可以使用类似的东西吗?
-
只需声明一个变量,然后使用
string.Format构建正则表达式。 -
我看不出这将如何解决我的问题..
-
您正试图通过重复使用模式部分和递归命名子模式来缩短正则表达式模式。对?你不能在 .NET 中做到这一点。 “动态”构建正则表达式。我现在将尝试说明它。这是what I mean。但是,我认为您的正则表达式存在一些问题。是否要匹配所有单个条目?