regexp:정규표현식
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판 | |||
| regexp:정규표현식 [2020/06/30 20:14] – kieuns | regexp:정규표현식 [2024/04/23 22:43] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | < | ||
| + | 정규식 규칙 | ||
| + | </ | ||
| + | |||
| + | ====== 표현 규칙 ====== | ||
| + | |||
| + | 이것만 봐서는 전혀 감이 안오지만.. | ||
| + | |||
| + | ^ 한글자에 대해서 | ||
| + | | | ||
| + | | %%[^abc]%% | ||
| + | | | ||
| + | | | ||
| + | ^ 미리 정의된 글자셋을 선택 ^ ^ | ||
| + | | \s | [ \t\n\r\f\v] 왼쪽의 글자(공백문자들) 가운데 어떤 문자인 경우 | ||
| + | | \S | %%[^ \t\n\r\f\v]%% 왼쪽의 글자(공백문자들)가 아닌 다른 어떤 문자의 경우 | ||
| + | | \d | 0~9 사이의 숫자를 찾으면 | ||
| + | | \D | 숫자가 아닌 (%%[^0-9]%%) 문자를 찾으면 | ||
| + | | \w | 영문자, 숫자의 글자를 찾으면 (%%[a-zA-Z0-9_]%%) | ||
| + | | \W | 영문자, 숫자를 제외한 다른 글자를 찾으면 | ||
| + | | \b | \w 또는 \W 에 해당되는 단어의 사이를 찾으면 | ||
| + | | \B | 단어 끝 부분이 아닌 곳 | | ||
| + | | \< | ||
| + | ^ 선택지, 그룹화 | ||
| + | | **()** | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | |||
| + | ====== 그룹 기능 추가 ====== | ||
| + | |||
| + | 검색된 문자열의 일부분에 대해서, 뭔가 하고 싶을때 | ||
| + | |||
| + | * 검색은 하되 그룹된 부분은 제외한 부분만 캡쳐하고 싶을때 | ||
| + | |||
| + | 라든지, 경험 부족으로 다른 경우는 잘 모르겠지만. | ||
| + | |||
| + | | {{: | ||
| + | |||
| + | 간단한 예 | ||
| + | |||
| + | < | ||
| + | | toggle breakpoint | ||
| + | | ::: |</ | ||
| + | |||
| + | ' | ||
| + | |||
| + | <code reg> | ||
| + | - %%|%%가 아닌 한 글자 + 개행문자를 선택하고 | ||
| + | - %%|%%가 아닌 한 글자 뒷부분만 선택 값으로 캡춰한다. | ||
| + | |||
| + | |||
| + | ===== Repetition Operator ===== | ||
| + | |||
| + | | {n,m} | 앞쪽의 선택 규칙이 n 번 이상, m 번 미만 나오는 규칙. (와우..)(n > ? > m) | | ||
| + | | {n,} | Match the previous item n or more times | | ||
| + | | | ||
| + | | ? | 없거나 하나인 문자 찾기 (이전 검색 결과로부터) {0,1} | | ||
| + | | + | Match 1 or more occurrences of the previous item {1,} | | ||
| + | | * | Match 0 or more occurrences of the previous item {0,} | | ||
| + | |||
| + | ===== Option ===== | ||
| + | | g | " | ||
| + | | i | "case Insensitive" | ||
| + | | m | " | ||
| + | |||
| + | ===== Web Link ===== | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | ====== 사용하면서 정리 ====== | ||
| + | |||
| + | 웹에서 미리 확인 가능한.. | ||
| + | |||
| + | * [[http:// | ||
| + | * | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | 그외 | ||
| + | |||
| + | * 다른 사이트나 프로그램 추가 안내 사이트 : [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ======= '#' | ||
| + | |||
| + | < | ||
| + | ## | ||
| + | (or) | ||
| + | ## | ||
| + | </ | ||
| + | |||
| + | 에서 '#' | ||
| + | |||
| + | 줄의 시작에 공백이 있거나 (없거나) 상관없이 #으로 시작되는 글자들 | ||
| + | <code reg> | ||
| + | ^[ \t]*# | ||
| + | </ | ||
| + | |||
| + | 줄의 시작에 공백이 있거나 (없거나) 상관없이 #이 두개로 시작되는지 확인 있다면 체크 | ||
| + | <code reg> | ||
| + | ^[ \t]*#{2} | ||
| + | </ | ||
| + | |||
| + | ====== 키워드를 분리하기 위한 토큰 ===== | ||
| + | |||
| + | 아래처럼 입력되는 라인에서 각 토큰을 분리하기 위한 정규표현, | ||
| + | |||
| + | * 공백 2개 | ||
| + | * ',' | ||
| + | * 탭 | ||
| + | |||
| + | < | ||
| + | starbucks | ||
| + | starbucks , 300 , 2010/1/27 | ||
| + | starbucks 300 2010/ | ||
| + | </ | ||
| + | |||
| + | 이 스트링에서, | ||
| + | |||
| + | <code reg> | ||
| + | basic code : ([ ]{2})|,|\t | ||
| + | upgrade code : ([ ]{2})|\t|([\t ]*,[\t ]*) | ||
| + | </ | ||
| + | |||
| + | 설명 | ||
| + | |||
| + | - "([ ]{2})" : 공백 2개를 찾는다. | ||
| + | * " | ||
| + | * "[ ]"는 공백을 의미한다. | ||
| + | * "[ ]{2}" 에서 {2}는 반복수를 의미하는데 "[ ]"가 2번 (공백2개) 반복되는 것을 의미한다. | ||
| + | - ' | ||
| + | - " | ||
| + | - "([\t ]*,[\t ]*)" : 콤마를 찾는다. | ||
| + | * "[\t ]*" 콤마 전후로 탭이나 공백이 있으면 그것들도 포함한다는 의미 | ||
| + | * " , " 나 ", " 나 "," | ||
| + | |||
| + | ====== 중간 문자 추출 ===== | ||
| + | |||
| + | 아직 연속 검색은 무리 | ||
| + | |||
| + | sports 영역만 ( ":/ / ~ ." 사이의 문자 ) | ||
| + | |||
| + | < | ||
| + | http:// | ||
| + | http:// | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | msdn에서 사용한 참고 예정 | ||
| + | |||
| + | < | ||
| + | http:// | ||
| + | |||
| + | " | ||
| + | </ | ||
| + | |||
| + | 이걸 사용하면 , 아래 같은 결과가 나온다는데.. | ||
| + | |||
| + | < | ||
| + | 0: " | ||
| + | 1: " | ||
| + | 2: "/ | ||
| + | 3: " | ||
| + | 4: " | ||
| + | </ | ||
| + | |||
| + | 이해한 부분 | ||
| + | |||
| + | < | ||
| + | [^:/?# | ||
| + | |||
| + | :// | ||
| + | |||
| + | 로 검색시작 | ||
| + | |||
| + | [^/?#]* --> search.microsoft.com (2) | ||
| + | |||
| + | ([^:// | ||
| + | </ | ||