정규식: 두 판 사이의 차이
K-위키
실수.. 하위식에 갯수적용 안됨. |
착각.. 하위식 갯수적용가능! |
||
| 12번째 줄: | 12번째 줄: | ||
| \ || || escaping || <code>\.</code>, <code>\?</code>, <code>[\-]</code> | | \ || || escaping || <code>\.</code>, <code>\?</code>, <code>[\-]</code> | ||
|- | |- | ||
| ? || {0,1} || 0 or 1개 (앞 | | ? || {0,1} || 0 or 1개 (앞 문자/하위식이 없거나 1개) || <code>(ass)?</code> = ass가 있거나 없음. | ||
|- | |- | ||
| * || {0,} || 0개 이상 (앞 | | * || {0,} || 0개 이상 (앞 문자/하위식이 없거나 1개 이상) || | ||
|- | |- | ||
| + || {1,} || 1개 이상 (앞 | | + || {1,} || 1개 이상 (앞 문자/하위식이 1개 이상) || | ||
|- | |- | ||
| {1} || {1,1} || 1개 (앞 | | {1} || {1,1} || 1개 (앞 문자/하위식이 정확히 1개) || <code>{2,5}</code> = 2~5개. | ||
|- | |- | ||
| . || || 임의 문자 (뒤에 갯수 지정이 없을경우 1개) || <code>.*</code> = 임의 문자가 없거나 1개이상. (코드 맨 뒤에 자주 쓰임) | | . || || 임의 문자 (뒤에 갯수 지정이 없을경우 1개) || <code>.*</code> = 임의 문자가 없거나 1개이상. (코드 맨 뒤에 자주 쓰임) | ||
|- | |- | ||
| (a) || || 하위식 ||| <code>(abc|adc)</code> = <code>a(b|d)c</code> = abc+adc (해당 | | (a) || || 하위식 ||| <code>(abc|adc)</code> = <code>a(b|d)c</code> = abc+adc (해당 문자/단어들과 일치하는 문자) | ||
|- | |- | ||
| (?!(a)) || || 부정 하위식 ||| <code>(?!(ass|sex))\w*</code> = not ass+sex (처음부터 해당 | | (?!(a)) || || 부정 하위식 ||| <code>(?!(ass|sex))\w*</code> = not ass+sex (처음부터 해당 문자/단어들을 제외한 영숫자 문자) | ||
|- | |- | ||
| [a] || || 문자 클래스 || <code>[abd]</code> = a+b+d (해당 단일 문자들과 일치하는 문자) (배치순서 무관) | | [a] || || 문자 클래스 || <code>[abd]*</code> = a+b+d (해당 단일 문자들과 일치하는 문자) (배치순서 무관) | ||
|- | |- | ||
| [^a] || || 부정 문자클래스 || <code>[^ab./]</code> = not a+b+.+/ (해당 단일 문자들을 제외한 | | [^a] || || 부정 문자클래스 || <code>[^ab./]*</code> = not a+b+.+/ (해당 단일 문자들을 제외한 모든 문자) | ||
|- | |- | ||
| [a-c] || [abc] || a | | [a-c] || [abc] || a,b,c || | ||
|- | |- | ||
| [a-zA-Z0-9_] || \w || 영숫자+_ || <code>[\w\-%]</code> = 영숫자+_+-+한글 등 모든 언어 | | [a-zA-Z0-9_] || \w || 영숫자+_ || <code>[\w\-%]</code> = 영숫자+_+-+공백,한글 등 모든 언어 | ||
|} | |} | ||
2021년 12월 14일 (화) 14:14 판
| 주의. 이 문서는 공머생들이 좋아하는 주제 혹은 공머생 그 자체에 대해 다룹니다. 본 문서가 다루는 내용에 지나치게 탐닉할 경우 필연적으로 여성들과 멀어지게 됩니다. 이는 디시위키가 책임지지 않습니다. |
|
이 문서는 유용한 정보가 담긴 문서입니다. 이 문서는 디시위키답지 않게 정말로 유용하거나 자세한 정보를 가득 담고 있습니다. 지식이 늘었다! |
설명
Regular Expression, regexp, regex
정규 표현식. 프로그래머들이 애용한다.
문법
| 메타문자 | 동일문자 | 기능/설명 | 예시 |
|---|---|---|---|
| \ | escaping | \., \?, [\-]
| |
| ? | {0,1} | 0 or 1개 (앞 문자/하위식이 없거나 1개) | (ass)? = ass가 있거나 없음.
|
| * | {0,} | 0개 이상 (앞 문자/하위식이 없거나 1개 이상) | |
| + | {1,} | 1개 이상 (앞 문자/하위식이 1개 이상) | |
| {1} | {1,1} | 1개 (앞 문자/하위식이 정확히 1개) | {2,5} = 2~5개.
|
| . | 임의 문자 (뒤에 갯수 지정이 없을경우 1개) | .* = 임의 문자가 없거나 1개이상. (코드 맨 뒤에 자주 쓰임)
| |
| (a) | 하위식 | (abc|adc) = a(b|d)c = abc+adc (해당 문자/단어들과 일치하는 문자)
| |
| (?!(a)) | 부정 하위식 | (?!(ass|sex))\w* = not ass+sex (처음부터 해당 문자/단어들을 제외한 영숫자 문자)
| |
| [a] | 문자 클래스 | [abd]* = a+b+d (해당 단일 문자들과 일치하는 문자) (배치순서 무관)
| |
| [^a] | 부정 문자클래스 | [^ab./]* = not a+b+.+/ (해당 단일 문자들을 제외한 모든 문자)
| |
| [a-c] | [abc] | a,b,c | |
| [a-zA-Z0-9_] | \w | 영숫자+_ | [\w\-%] = 영숫자+_+-+공백,한글 등 모든 언어
|
적용 예시
- 특정 사이트 적용:
@document regexp('https?://\w*\.?\w*wiki.*')= https://wiki.dcinside.com + https://ko.wikibooks.org + https://www.mediawiki.org + https://itwiki.kr + https://namu.wiki + http://rigvedawiki.net + ...
- 특정 사이트 제외:
@document regexp('https?://(?!(namu))[\w\-%]*\.?(?!(dc[cin]|namu))[\w\-%]*(\.\w{2,3}|\.\w{2}\.\w{2}|\.wiki)/.*')= 디시인사이드+디키+위키+남간을 제외한 모든 사이트 적용.
- 이메일 검사:
(\w+\.)*\w+@(\w+\.)+[a-zA-Z]+= 이메일 검사 코드 열줄 넘게 쓸걸 이거 한줄이면 끝나는데 많이 편하다.
