2013-11-04 1 views
0

다음 문제에 도움을 요청합니다.정규 표현식 - 특정 문자열이없는 접두어 및 접미사

Java에서 유효한 주석을 나타내는 일반 표현식을 정의하려고합니다. 이를 위해

나는 접두어를 원하는 : "/\*"[^"\*/"]"\*/"하지만이 작동하지 않습니다 새로운 라인과 탭이 아닌 다른 "\*/"+

"*/" 내가이 일을 시도 접미사를 포함 "/\*" + 다. 하나의 유효한 코멘트로 이 걸립니다.

어떻게해야합니까?

+1

http://ostermiller.org/findcomment.html; 인터넷 검색을 해봤 니? – crownedzero

+0

그리고 원하는 기능은 http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern에서 '욕심이 많지 않은'연산자 (Java가 마지 못해 불렀던 matcher라고 부름)입니다. html – rolfl

+0

코드에서'String s = "/ * wassup * /";'처럼'/*...*/'를 포함하는 문자열이 있다면? 그것을 찾으시겠습니까? 아니면 무시해야합니까? – Pshemo

답변

0

당신은 시작 /*과 끝에서 */에 일치

yourString.matches("/[*]((?![*]/).)*[*]/") 

이 함께 시도 할 수 있습니다. 중간에 negative look-ahead을 사용하여 문자 (점으로 표시)가 *이 아닌 경우 */에 있는지 테스트합니다. 물론 역 추적은 거의 없으므로 성능은 향상 될 수 있지만 지금은 트릭을 수행합니다.