無効なグループ名:グループ名には、私は正規表現を正規表現クラスを使用していたとき、私は次の例外を受け取っ


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')。