我可以将RegEx组的值分配给另一个吗?

时间:2012-03-21 12:54:38

标签: c# regex

是否可以在正则表达式中将组的值复制到另一个组中?意思是,我有一个文字行

   errID   name_of_error: description bla bla

我用这个RE来保存这一行的所有部分

   ^(?'code'[\w\d]{5}) {3}(?'name'[\w\d]+?(?=:)): (?<= )(?'desc'.+?)(?=$)

我所拥有的是我的正则表达式中包含“代码”值的其他组,例如

   code -> errID
   newgroup-> errID
   name-> name_of_error
   desc -> description bla bla

可行吗?

编辑:我正在使用C#

1 个答案:

答案 0 :(得分:3)

我不知道您使用的语言,特别是对于命名组的语法,但我认为您可以使用:

^(?'newgroup'(?'code'[\w\d]{5})) {3}(?'name'[\w\d]+?(?=:)): (?<= )(?'desc'.+?)(?=$)

此外[\w\d]可以简化为\w,然后正则表达式变为:

^(?'newgroup'(?'code'\w{5})) {3}(?'name'\w+?): +(?'desc'.+?)$