사용자 도구

사이트 도구


regexp:사용-예제

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
regexp:사용-예제 [2020/06/30 20:14] kieunsregexp:사용-예제 [2024/04/23 22:43] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +<title>
 +정규식 예제
 +</title>
 +
 +====== 파일 이름 교정 ======
 +{{tag> regexp}}
 +
 +===== 앞부분 =====
 +
 +<code>
 +(\[Haru-Raws\] |\[HorribleSubs\] |\[Leopard-Raws\] |\[Zero-Raws\] |\[모에-Raws\] |\[OWA Raws\] )
 +</code>
 +
 +===== 뒷부분 =====
 +
 +<code>
 +(( RAW | )?)\((TX|TOEI|MX|TBS|AT-X HD\!) 1280x720 x264 AAC\)
 +(( RAW | )?)\((TX|TOEI|MX|TBS|AT-X|AT-X HD\!|TVS|MBS|NTV) 1280x720 x264 (VFR) AAC\)
 +
 +( \[480p\]| \[720p\]| RAW)
 +</code>
 +
 +{{:regexp:cap_filenamechange_ext.png|}}
 +
 +======일단 메모======
 +
 +<code>
 +DEFINER=([^\s]+)[ ]
 +
 +// DEFINER=ABCDE@DKFJDKFJ'DFKJEK OtherOfReset
 +// "DEFINER=ABCDE@DKFJDKFJ'DFKJEK" 부분만 선택
 +</code>
 +
 +**DEFINER=**부터 첫 공백 사이의 모든 문자를 선택.
 +
 +
 +
 +====== 앞 부분의 글자를 모두 선택하고 싶을때 ======
 +
 +이런 문자열에서,
 +
 +<code>
 +  ABCDE = 20115,
 +ZZZZZ = 20116,
 + yyyyyy=20117,
 +</code>
 +
 +  * **%%=%%** 까지 선택하고 싶은 경우
 +  * (글자전부)=(공백있거나없거나) : 까지 선택
 +
 +<code reg>
 +(.+)=\s*
 +</code>
 +
 +결과는
 +
 +<code>
 +  ABCDE = 20115,  //의 경우 '  ABCDE = ' 까지 선택됨
 +</code>
 +====== 한 두 글자만 틀린 경우 ======
 +
 +%%<nowiki>, </nowiki>%%, 두 종류를 검색해서 다른 것으로 바꾸고 싶다면.
 +
 +이걸로 검색하면 두 종류 모두 체크 된다.
 +
 +<code reg></?nowiki></code>
 +
 +====== 개행문자 삭제 ======
 +
 +샘플 스트링 
 +
 +<code>
 +| Indent Selection  Ctrl + Alt + End
 +| Unindent Selection Ctrl + alt + home
 +| ::: |
 +| Join Lines Ctrl+Shift+J
 +</code>
 +
 +  * %%| ::: |%% 뒷부분의 개행문자는 그대로 유지
 +  * 나머지 줄의 개행 문자를 \\ '<개행문자>' --> ' |<개행문자' 로 변경
 +
 +<code regexp>
 +(?<=[^|])\n
 +</code>
 +
 +  * %%|%%가 아닌 한 문자 + 개행문자를 검색
 +  * %%(?<=표현)%% 부분은 검색은 하되, 캡춰하는 값에서는 제외
 +  * %%\n%% 으로 검색이 안되면 %%\r\n%%으로 검색.
 +
 +====== 반복문자 검색 ======
 +
 +<code>
 +==
 +=====
 +=============
 +</code>
 +
 +개수에 상관 없이, '==' 들을 전부 '======'으로 변경
 +
 +<code regexp>
 +={2,}
 +</code>
 +  * 2개 이상의 '='가 있는 단어를 전부 선택
 +====== 중간의 탭, 공백 삭제 ======
 +
 +| 이런 문자의 경우,      | <code>abc(탭)(탭)....></code> |
 +| 실제로 보면 이런 문자, | <code>abc  ></code>   |
 +
 +줄 중간에 공백 부분(탭이 있는)을 삭제하고 싶은 부분을 (바꾸려는 부분을 찾기) 찾은려는 부분은,
 +
 +  (탭)(탭)...>
 +
 +문자열 전체를 삭제하고 싶을때,
 +
 +<code reg>[\t ]+></code>
 +
 +만약 이런 경우라면,
 +
 +<code>
 +//이런 문자의 경우
 +abc(탭)(탭)....|
 +// 실제로 보면 이런 문자, 공백 부분에는 탭이 있고.
 +abc    |
 +</code>
 +요렇게,
 +<code reg>[\t]+[|]</code>
 +
 +**단어 중간의 탭이 있는 경우**
 +
 +<code>
 +| Enable/Disable breakpoint  Ctrl+f9
 +| Step Into f11
 +| Step Out Shift+f11
 +</code>
 +
 +'Enable/Disable breakpoint' 와 'Ctrl+f9' 사이의 공백 문자 (탭이나 공백)을 모두 선택하기 싶을때
 +
 +<code>
 +| Enable/Disable breakpoint(....선택....)Ctrl+f9
 +</code>
 +
 +| 표현식 | <code reg>([\t]{1,}|[\s]{2,})\b</code> |
 +
 +  * from : (탭이 1개 이상 or 공백문자가 2개 이상인 부분) \\ to : 다음 단어 시작 부분까지
 +====== IP - check ======
 +
 +sample
 +  127.102.256.125
 +  127.01.23.33
 +
 +MS : 마지막 ip 뒤에 다른 글자가 붙는 것은 확인 못하지만 ip 체크 가능.
 +<code reg>
 +([12]*[0-5]*[0-9]{1}?\.){3}?[12]*[0-5]*[0-9]{1}?
 +</code>
 +
 +General : 마지막에 다른 글자가 붙는 것도 체크. 정확한 아이피여야한다.
 +<code reg>
 +([12]*[0-5]*[0-9]{1}\.){3}[12]*[0-5]*[0-9]{1}$
 +</code>
 +
 +====== MacAddress ======
 +
 +Sample
 +  0A05AAAC7A00
 +
 +16진수 12자리의 문자열인가?를 체크
 +
 +<code reg>
 +[0-9A-Fa-f]{12}$
 +</code>
 +
 +====== 파일 검색용 ======
 +
 +  - *.doc, *.ppt, *.pptx, *.docx 파일만 찾고 싶다.
 +  - ".svn"과 같이 "."으로 시작되는 폴더는 무시
 +
 +<code reg>
 +(^\.|.)+\.(doc|docx|ppt|pptx)$
 +</code>
 +
 +====== td 구문 찾기 ======
 +
 +<td> 와 </td> 사이의 문자가 (공백 포함) 있는 영역.
 +<code php>
 +// php code로 적었다.
 +$regexp3Date = '/<td>(.*)[\\s]+<\/td>/';
 +</code>
 +
 +====== 날짜 , '2012-04' 와 같은 포맷인지 확인 ======
 +
 +'2012-04'와 같은 형식인지?
 +<code reg>
 +^[01-9]{4}-[01-9]{2}$
 +</code>
 +'2012-04-24'와 같은 날짜 형식이 맞는지, 날짜가 39인것도 체크 되기 때문에 엄격하진 않다.
 +<code reg>
 +^[01-9]{4}-[01-9]{2}-[0123][1-9]$
 +</code>
 +
 +====== 찾는 문자 중에 맞는게 있는지 ======
 +
 +아주 간단.
 +검색하는 문자열에, grid or http or all 중에 한개라도 맞는 단어가 있는지 체크.
 +<code reg>
 +(grid|http|all)
 +</code>
 +
 +====== 시작부분인 '--'인지 확인 ======
 +
 +커맨드 라인 파라미터 확인 용으로 사용했던.
 +<code reg>
 +^--?.+
 +</code>
 +
 +====== 문자열 뒷부분을 잘라내고 싶을때 ======
 +
 +<code>
 +쫘":_tt="7_0_0";break;
 +</code>
 +
 +이 문자에서 '쫘' 뒷부분을 모두 잘라내고 싶을때, 뒷 부분만 선택 하려면
 +
 +<code reg>
 +"(.*);
 +</code>
 +
 +====== '#'으로 시작하는지 검사 ======
 +
 +<code>
 +          ##dkfjdkfjdkfjdkjfkdjf
 +(or)
 +##dkfjdkfjdkfjdkjfkdjf
 +</code>
 +
 +에서 '#'으로 줄이 시작되는지 검색하기 위해서
 +
 +줄의 시작에 공백이 있거나 (없거나) 상관없이 #으로 시작되는 글자들
 +<code reg>
 +^[ \t]*# 
 +</code>
 +
 +줄의 시작에 공백이 있거나 (없거나) 상관없이 #이 두개로 시작되는지 확인 있다면 체크
 +<code reg>
 +^[ \t]*#{2}
 +</code>
  
regexp/사용-예제.txt · 마지막으로 수정됨: 2024/04/23 22:43 저자 127.0.0.1