我可以在.NET的System.Text.RegularExpressions中使用命名捕获中的破折号吗?

时间:2008-11-04 16:56:00

标签: .net regex

是否可以做某些事情(?'A-B'\ s *)?

1 个答案:

答案 0 :(得分:2)

来自文档:

  

(小于?NAME1名2>子表达式)

     

(平衡组定义。)删除   以前的定义   定义组名称2并存储在   group name1之间的间隔   以前定义的name2组和   现在的小组。如果没有组名2   定义,比赛回溯。因为   删除name2的最后一个定义   揭示了之前的定义   name2,此构造允许堆栈   要使用的组名称2的捕获   作为跟踪的计数器   嵌套构造,如括号。   在此构造中,name1是可选的。   您可以使用单引号代替   尖括号;例如,   (? 'NAME1名2')。

只有在正则表达式中已经定义了名为B的组时,您的示例才有效,并且您打算执行A-B所暗示的内容。

如果你问的是群组名称中是否有短划线,请不要。破折号在命名组中具有特殊含义。

有关详细信息,请参阅the example in this topic.