2010-02-19 7 views
39

메모장 ++의 정규식 기능을 사용하여 한 번에 선택하고 복사 할 문자열이 포함 된 HTML 소스 파일의 일부가 있습니다.표시된 텍스트를 메모장에 복사하는 방법 ++

<option value="Performance" 
>Performance</option> 
<option value="Maintenance" 
>Maintenance</option> 
<option value="System Stability" 
>System Stability</option> 

나는 "값"값을 검색 할 정규식 "[0-9a-zA-Z ]*"을 사용하고 있습니다 : 여기

텍스트 소스의 일부입니다. 또한 Notepad ++ 검색 기능을 선택하여 강조 표시된 텍스트를 표시했습니다. 이 작업 벌금 이제 추가 처리를 위해 강조 표시된 텍스트 만 클립 보드로 복사하거나 자르고 싶습니다. 하지만 Notepad ++에서이 기능을 찾을 수 없습니다. 이것은 단순히 가능하지 않습니까, 아니면 너무 바보입니까?

+0

Final Result 아래로 최종 결과를 가지고 있지만, (이것은 Windows에서 다른 곳처럼)하지 Ctrl-C를 작동합니까, 또는 당신은 스크립트를 찾고 있습니다 그것을하는 방법, 또는 무엇? –

+0

Ctrl-C는 문자열을 복사하지 않습니다. 메모장 ++는 버퍼의 텍스트를 표시하고 강조 표시하는 여러 가지 방법이 있습니다. 정규식과 일치하는 텍스트는 일부 색상으로 강조 표시되고 마우스로 표시된 텍스트는 회색으로 강조 표시됩니다. 이 텍스트는 Ctrl-C로 복사 할 수 있습니다. 그러나 한 번에 텍스트의 다른 부분을 표시 할 수는 없습니다. – Alex

+0

수퍼 유저가 [Ankit의 대답] (http://superuser.com/questions/477628/export-all-regular-expression-matches-in-textpad-or-notepad-as-a-list)를 수행하는 방법입니다. 그냥 메모장을 사용하여 + + – Fidel

답변

18

대신을 시도해보십시오

첫째, 고정 라인 종료 문제 : (메모장 ++ 허용하지 않는 멀티 라인 정규 표현식)

검색 [확장 모드] :\r\n> (또는 당신의 자신을 시스템의 라인 엔딩)

은 교체 :>

다음

검색 [정규식 모드] : (당신이 value의 모든 발행 수보다는 옵션, 간단한 제거를 원하는 경우 최고의 option)<option[^>]+value="([^"]+)"[^>]*>.*

바꾸기 :\1

두 번째 정규 표현식의 설명 :

<option[^>]+  Find a < followed by "option" followed by 
       at least one character which is not a > 

value="   Find the string value=" 

([^"]+)   Find one or more characters which are not a " and save them 
       to group \1 

"[^>]*>.*  Find a " followed by zero or more non-'>' characters 
       followed by a > followed by zero or more characters. 

예, 정규식을 사용하여 HTML을 구문 분석합니다. - these warnings apply - 출력을 신중하게 확인하십시오.

+0

+1이 이와 비슷한 것을 게시하려고했습니다. 좋은 대답. – Beanish

+0

Beanish 대단히 감사합니다! –

+0

올바른 방향 일 수 있습니다. 하지만 그룹 \ 1에는 첫 번째 값만 포함됩니다 (여기에는 "성능"). 나머지는 그룹에 저장되지 않습니다. – Alex

1

아니요, Notepad ++ 5.6.2 에서처럼 가능하지 않습니다. 열 선택 (Alt + Selection)이 가능하지만 여러 선택이 분명히 구현되지 않았으므로 검색 기능에서도 지원되지 않습니다.

+0

이상한 것은 5.6.6 일부 색상에서 일치하는 텍스트 부분을 강조 표시 할 수 있습니다, 그것만 클립 보드에 넣어 허용하지 않습니다. – Alex

78

Notepad ++ 5.9에서 'Unmarked Lines'기능을 추가했습니다.이 기능을 사용하면 원하지 않는 모든 항목을 제거하고 각 값 행의 다른 텍스트를 바꿀 수 있습니다.

  1. 를 사용하여 검색 -> Bookmark- -> 찾기 - 당신이/유지 복사
  2. 검색을 선택 텍스트를 표시하기 전에 '북마크 라인'을 체크하기 위해 기억하고 싶은 각 행을 표시하기> 마크 기능 -> 표시되지 않은 선을 제거하십시오
  3. 검색 -> 찾기 -> 바꾸기를 사용하여 유지/복사하지 않으려는 다른 텍스트를 바꾸려면
  4. 나머지 텍스트를 저장하거나 복사하십시오.

은 또한 검색을 사용하여 비슷한 일을 할 수 -> 북마크 -> 복사 북마크 라인

그래서 기술적으로 여전히 텍스트 표시 복사 할 수는 없지만 다음 북마크 표시된 텍스트 라인과 다양한 수행 할 수 있습니다 책갈피 또는 표시되지 않은 행에 대한 작업.

+0

우수한 팁, 내가 필요한 것, 감사합니다! – montrealist

+0

+1 - 위대한 작은 팁 및 특정 항목에 대한 (큰) 로그 파일을 트롤링 할 때 매우 편리합니다. – CraigTP

+0

작동합니다. 고맙습니다. 덕분에 –

19

Google 검색 결과에서이 게시물의 조회수가 높기 때문에이 내용을 추가하려고합니다.

실제로 한 단계가 아닌 정규식 검색에서 모두를 복사 할 수 있습니다.

  1. 검색에서 표시를 사용하고 찾을 내용에 정규식을 입력하십시오.
  2. 책갈피 줄을 선택하고 모두 표시를 클릭하십시오.
  3. 검색 -> 북마크 -> 북마크 된 줄 복사를 클릭하십시오.
  4. 새 문서에 붙여 넣으십시오.
  5. 검색 및 바꾸기와 함께 정규 표현식의 일부가 아닌 줄에서 원하지 않는 텍스트를 제거해야 할 수 있습니다.
+1

이 목록의 5 번째 항목은 시간이 많이 걸리는 부분입니다. 복사 된 텍스트는 분명히 NotePad ++에서 지원되지 않으므로, 나는 다른 무료 소프트웨어 인 Expresso by Ultrapico를 사용했습니다. 나는 전체 텍스트를 Expresso의 "Sample text"창에 붙여 넣었고, 메모장에서 "정규 표현식"창으로 준비했던 것과 동일한 정규 표현식 검색을 붙여 넣었다. 그 다음 "실행 결과"를 누르고 "검색 결과 창"에서 마우스 오른쪽 버튼을 클릭하십시오/"일치하는 텍스트를 클립 보드에 복사". –

0

나는 동일한 문제가있었습니다. PSPad Editor에서 새 줄의 모든 일치 항목을 메모장 + +와 매우 비슷한 새 탭에 나열 할 수 있습니다.

검색하려면 Ctrl + F를 누르고 정규식을 확인하고 정규 표현식을 넣은 다음 목록을 클릭하십시오.

5

Notepad ++에는 멋진 기능이 있습니다. 내가 파일에서 모든 경기를 추출하기 위해 다음과 같은 방법을 사용 :

powershell 
select-string -Path input.txt -Pattern "[0-9a-zA-Z ]*" -AllMatches | % { $_.Matches } | select-object Value > output.txt 

을 그리고 당신이 정렬 된 목록 만 별개의 일치하려는 경우 :

powershell 
select-string -Path input.txt -Pattern "[0-9a-zA-Z ]" -AllMatches | % { $_.Matches } | select-object Value -unique | sort-object Value > output.txt 
+1

전체 쓰레기, 생명의 은인 – dbinott

+1

놀라워요! 메모장 ++ 솔루션보다 훨씬 좋습니다. – blindstuff

0

을 그것은 메모장 불가능하지만, 는 여기에 쉬운 솔루션있다 :

당신은 http://www.ultrapico.com/ExpressoDownload.htm

I 프리웨어 프레소 버전 3.1이 필요합니다 Ultrapico의 Expresso : 자유 소프트웨어의 또 다른 조각에 의지했다.

  1. 일단 설치되면 "테스트 모드"탭으로 이동하십시오.
  2. REGEX를 "정규식"창에 복사하십시오.
  3. 은 전체 텍스트

  4. 을 눌러 "실행 일치"버튼 프레소의 "샘플 텍스트"창에 검색 할 붙여 넣습니다. "검색 결과 창"및 "내보내기 ..."또는 "클립 보드에 일치하는 텍스트 복사"를 마우스 오른쪽 단추로 클릭하십시오.

N.B : 원래 저자는 @Andreas 얀손하지만이 페이지가 높은 Google 검색 순위 때문에 나는 다른 사람을 위해 여기두고 그래서이 댓글에 숨겨져 있습니다.

0

이것은 https://superuser.com/questions/477628/export-all-regular-expression-matches-in-textpad-or-notepad-as-a-list과 유사합니다.
"성능"
"유지 보수"
"시스템 안정성을"여기

는 방법입니다 - 단계 1/3 :

난 당신이 추출하려는 희망을 열기 검색 -> 찾기 -> 탭 바꾸기, 정규 표현식 라디오 버튼을 선택하십시오. 찾을 내용을 입력하십시오. (\ "[a-zA-Z0-9 \ s] + \") 다음으로 바꾸기 : \ n \ 1을 클릭하고 모든 단추 바꾸기를 클릭하십시오. Before Clicking Replace All

2/3 단계 : 첫 번째 단계 후에 키워드가 다음 줄에 표시됩니다 (다음 그림 참조). 이제 Mark 탭으로 가서 Find what : Field에 같은 정규 표현식을 입력하십시오. 북마크 라인에 체크 표시를하십시오. 그런 다음 모두 표시를 클릭하십시오. Bookmark the lines

단계 3/3 : 고토 검색 -> 즐겨 찾기 -> 표시되지 않은 줄을 제거합니다.

Remove Unmarked lines 그래서 당신은 내가 ++ 메모장에 익숙하지 해요

관련 문제