2009-09-24 5 views
4

일치하는 문자열에 "BLAH"가 표시되지 않더라도 항상 "BLAH"값을 갖는 명명 된 캡처 그룹을 가질 수 있습니까? 내가 제대로 이해하면 당신은 당신이 할 수 있는지 여부를 요구하고,, 명명 된 캡처 그룹의 값을 "하드 코드"할 수 있습니까

^(?<source=BLAH>)$ 
+0

정규 표현식으로이 문제를 해결할 수 있다고 생각하지 않습니다. –

+0

@Ahmad Mageed, 많은 비.NET 사람들이 C#으로 태그 된 질문을 걸러냅니다. 게다가이 질문은 실제로는 C# 특정 적이 지 않습니다. – zvolkov

+0

@zvolkov : ah, ok. 나는 그룹 구문에 대한 언급에 기초하여 C#에 특유하다는 것을 오해했습니다. 허락하신다면, 그것은 정규식에 일반적으로 적용됩니다. –

답변

3

:

효과적으로, 나는 (가짜 소스를주의 = BLAH 구문)는 다음을 의사 정규식처럼 뭔가를 찾고 있어요 "소스"는 일치하는 문자열에 "BLAH"가 표시되지 않더라도 항상 "BLAH"의 값을 갖는 명명 된 캡처 그룹의 역할을합니다. 불가능합니다.

가장 많이 할 수있는 것은 (? 'source')를 사용하여 정규식을 설정하면 아무것도 일치하지 않는 빈 캡처 그룹으로 간주됩니다. GetGroupNames method을 사용하면 그 파일이 있음을 알 수 있지만 아무 것도 지정할 수 없으므로 쓸모 없게됩니다. "BLAH"가 예상되는 파일 접두어 인 경우 다양한 접두사가 없으면 코드의 다른 곳에서 처리하십시오.이 경우 정규식 패턴을 동적으로 작성하여 처리 할 수 ​​있습니다.

관련 문제