2016-07-29 3 views
-2

특수 문자로 묶인 문자열 부분을 식별하고 나머지는 대문자로 변환하는 정규 표현식이 필요합니다. 예를 들어,특수 문자의 일부가 아닌 문자열을 대문자로 변환

He did soME "experimenting (chemistry, biology)" in (hIS) ScHool Days. 

는 출력 : 대문자로 변환있어되지 않는 동안 특수 문자로 둘러싸인 단어 위의 예에서

HE DID SOME "experimenting (chemistry, biology)" IN (hIS) SCHOOL DAYS. 

은 동일하게 유지됩니다.

선호하는 언어는 VB입니다.

답변

0

당신은 1 군 필요

([^("]*)((?:(")|(\())(?:(?!(?(3)"|\))).)*.)? 

내용은 그대로 2 군의 내용이 남아 있어야합니다, 대문자 할 수 있습니다.

이 패턴은 과 같이 중첩 된 그룹에서 작동하지만 "a(b"c)과 같이 중복되는 그룹에서는 작동하지 않습니다.

관련 문제