,로 // 테스트 코멘트 "를"찾을 수있는 정규 표현식이 될 수있는 것 // 테스트 코멘트 라인에 대한
10 println "Testing Comment" //Test Comment
"다음 경우 테스트"10에 println "라인에 주석을 찾을 수있는 정규 표현식이 될 수있는 것 . 전체 문자열 나는 내가 자바에서 렉서를 만드는 오전으로 토큰이 사용하려는
코드 :.. 내가 //.* 사용하여 시도했지만 그것의 의견 것을 일치하지 않는
StringBuilder sb = new StringBuilder();
String[] p = new String[5];
p[0] = "(?<Reserved>\\bPRINTLN\\b)"; //RESERVED WORDS
p[1] = "(?<Comments> //.*)";
p[2] = "(?<Constants>[0-9]+)"; //Constants eg: 21 54 14215
p[3] = "(?<Special>[\\[\\]/.$*\\-+=><#()%,!|&{}])"; //SPECIAL CHAR Eg:-+*/ etc
p[4] = "(?<Identifiers>\\w+)"; //Identifiers eg: circum radius
for (String s: p) {
sb.append(String.format("|(%s)", s));
} //for ends here
Pattern tp = Pattern.compile(new String(sb.substring(1))); // adding the patterns one after another separated by |
Matcher m = tp.matcher(line);
ma의 find 메소드 사용하기 tcher, 명명 된 캡처 그룹을 토대로 토큰 화 중입니다.
는 "//.*"시도했지만 운이 – Ronn
이 https://regex101.com/ 살펴 유무 시도 \/\/. * –
컴파일 오류가 발생합니다. "\/\/.*"에 대해 유효하지 않은 이스케이프 시퀀스 (유효한 것들은 \ b \ t \ n \ f \ r \ "\"\\) " – Ronn