2017-01-02 1 views
1

CSV 입력을 위해 ANTLR 문법을 사용하고 싶습니다.ANTLR4 문법 정규식 및 물결표

  1. (~["])+(~['"'])+의 차이점은 무엇입니까?

  2. ~이 중요한가요?

여기 내 문법입니다 : 렉서 규칙에서

grammar Exercice4; 

csv : ligne+ 
    ; 


ligne : exp (',' exp)* ('\n' | EOF) 
    ; 

exp : ID 
    | INT 
    | STRING 
    ; 

INT : '0'..'9'+; 

ID : ('0'..'9' | 'a'..'z' | 'A'..'Z')+; 

STRING : '"' (~["])+ '"'; 

WS : [ ,\n, \t, \r] -> skip; 
+0

1) 차이가 없어야합니다 2)'~'는 다음 항목을 무효화합니다 – Lucero

답변

1

, 대괄호 안에있는 문자는 문자 집합을 정의합니다. 따라서 ["]은 (는) 단일 문자 "이있는 집합입니다. 세트가되어 모든 캐릭터가 세트에 있거나 없으므로 [""] 에서처럼 캐릭터를 두 번 정의하면 아무런 차이가 없습니다. 이는 ["]과 같습니다.

~

정도로 ~["]" 제외한 모든 문자 수단 세트를 부정한다.