2012-07-13 3 views
0

일부 Regex에 문제가 있습니다. 따옴표와 사이에있는 모든 것을 삭제해야합니다. 이제 따옴표를 표시하는 것은 단지 점으로정규식 제거 표시 해제

".*?" 

새로운 라인 (줄 바꿈과 일치) 일치 충분히 쉽다. 이제 필요한 모든 항목을 표시했습니다.이 검색에서 찾을 수없는 모든 항목을 삭제하면됩니까? 왜 이것을하는 것이 그렇게 어렵습니까 - 표시되지 않은 텍스트를 삭제하십시오; 개념 자체는 매우 간단합니다.

메모장 +에서 Regex를 사용하고 있습니다.

다음으로 앞의 두 개의 따옴표를 제거해야하며 그 다음에 따옴표 x 따옴표를 사용하지 말고 아래 표시된 방법으로 서식을 지정해야합니다. 그러나 지금까지 기본 개념조차도 고민 중입니다. 나를 궤도에 돌려 놓을 누군가가 필요해.

"foo" "bar" "..." "..." "..." "baz" --> ..., ..., ..., baz 

"foo" "bar" "" "...     --> ......, baz 
..." "baz" 
+0

"foo"및 "bar"가 삭제되는 이유는 무엇입니까? 따옴표 안에 있지 않니? –

+0

Re : point 1, 이것에 대해 생각할 수는 없습니다. REGEX는 일치하는 항목에 적용되며 일치하지 않는 항목에는 적용되지 않습니다. REGEX가 한 번에 하나의 문자 만이 아닌 시퀀스의 부정을 허용하는 경우 사소한 일 이겠지만 ... alas ... – Utkanos

+0

"foo"및 "bar"는 따옴표 안에 있지만 불필요한 데이터입니다. – user1524203

답변

0

첫 번째 인용까지 모든 것을 삭제 :

Search: \A[^"]+ 
Replace: (nothing) 
인용하고 다음과 같은 비 인용 문자

일치 아무것도, 인용 된 텍스트로 교체 :

Search: ("[^"]*")[^"]+ 
Replace: $1 

나는 즉, \A은 텍스트의 시작과 일치하고 그 $1은 Notepad ++의 정규 표현식에서 캡처 그룹을 나타냅니다.