다음 두 가지 유형의 주석이 있습니다. 정규 표현식 \/\*.*\*\/
은 두 번째 유형의 주석을 찾지 않지만 첫 번째 주석은 찾지 않습니다. 여러 줄을 가지고 있기 때문에 그런 것 같아요?여러 줄로 된 정규식 검색
두 가지 주석을 모두 찾으려면 정규식에 어떤 수정이 필요합니까?
첫 번째 유형 :
/* Comment type1 */
두 번째 유형 :
/*
* JD-Core Version: 0.7.0.1
*/
다음 두 가지 유형의 주석이 있습니다. 정규 표현식 \/\*.*\*\/
은 두 번째 유형의 주석을 찾지 않지만 첫 번째 주석은 찾지 않습니다. 여러 줄을 가지고 있기 때문에 그런 것 같아요?여러 줄로 된 정규식 검색
두 가지 주석을 모두 찾으려면 정규식에 어떤 수정이 필요합니까?
첫 번째 유형 :
/* Comment type1 */
두 번째 유형 :
/*
* JD-Core Version: 0.7.0.1
*/
도트가 개행 문자와 일치하므로 정규식에 DOTALL 플래그 (들)을 추가하지 않습니다 :
를/\/\*.*?\*\//s
그리고 마지 못해 사용하십시오. 텍스트를 캡처하려면 점 .*?
에 대한 정량, */
당신의 정규식 sg
수정과 아래 있어야한다
/\/\*.*?\*\//sg
(즉 물음표를 추가) 그래서 첫 번째 닫기에서 멈출 것이다 의 /* */
, 아래 정규식에 대한 이동 내부에 존재했다
/\/\*(.*?)\*\//sg
설명 :
s # Dotall
g # global
*? # Non-greedy match
의견이 중첩 된 경우 언어이 갈 수 있습니다, 확인하지 않습니다 가정 :
(?s)/\*.*?\*/
당신은 메모장을 사용한다고 말합니다 + + : 여기 직장에서 정규식의 스크린 샷입니다.
\/\*([\S\s]+?)\*\/
이 resouces에 욕심이 점을 피할 수 :
ntepad ++ 및 Eclipse IDE를 사용하면 reqular expression이 두 도구에서 작동하지 않습니다. –
FYI, 메모장에서 근무하는 정규식의 스크린 샷을 추가했습니다. ++ : – zx81
네 말이 맞아, 내가 실수 한거야. –
어떤 프로그래밍 언어/툴/정규식 엔진을 사용하고 있습니까? '.'의 의미와 그것들을 바꿀 수있는 availble 플래그는 다를 수 있습니다. – Bergi
당신이 사용하는 언어가 무엇인지 말하지 않았기 때문에 유용한 답변의 내용과 형식이 달라질 것입니다. – Bohemian
정규식은 모든 도구에 공통적이라고 생각했습니다.어쨌든 메모장을 사용했습니다. ++ 및 Eclipse IDE –