안녕하세요 저는 정규 표현식을 기반으로 간단한 렉서를 작성하고 있습니다.정규 표현식 문자 리터럴 대 컨텍스트
한 렉서 토큰은 작은 따옴표로 묶여있는 문자가되는 CHARLITERAL입니다 즉 :
'A'
'.'
도
'''
이 허용됩니다.
이 허용되지 않는 유일한 시간은 괄호 안에이 경우에만 CHARLITERAL에서이
somerandomcontext'('"')
같은 상황에 유효하고, 그 첫 번째 작은 따옴표를 무시해야합니다. 위의 문자열을 먹이면 '('
대신 '"'
을 반환하는 정규식을 찾고 있습니다. 분명히 '[^\n\r]'
은 절단하지 않습니다. 불행히도 정규 표현식의 주장에 익숙하지 않습니다.
감사합니다. 나는 결국 '(?! \\ ('[^ \ n \ r] '\\)) [^ \ n \ r]'을 사용했다. 왜냐하면 열린 괄호 만 있지만 닫는 괄호는없는 상황을 포착하기 때문입니다. – sebs