无效的组名称:组名称必须与


3

我当我使用正则表达式类正则表达式收到以下异常字字符开头:(?'命名a'asdf)

System.ArgumentException: parsing \"(?'named a'asdf)\" - Invalid group name: Group names must begin with a word character. 

什么我的正则表达式有问题吗?

6

问题是捕获名称中的空格。删除空间,它工作正常。

从MSDN文档: “用于名称的字符串不得包含任何标点符号,并且不能以数字开头,您可以使用单引号代替尖括号;例如(?'name')。”

如果使用尖括号<>或单引号“'来表示组名称,则无关紧要。


-1

问题是围绕命名捕获组名称的引号。尝试字符串:(?<命名为> asdf)


4

用于通过vengafoo提到MSDN文档的参考是在这里: Regular Expression Grouping Constructs

(?<name> subexpression)
捕获匹配的子表达式成一组名称或号码的名称。名称中使用的字符串 不得包含任何标点符号,并且不能以 数字开头。 您可以使用单引号代替尖括号;例如(?'name')。