잘못된 그룹 이름 : 그룹 이름은 내가 정규 표현식으로 정규식 클래스를 사용하여 때 나는 다음과 같은 예외를받은


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