This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| regular_expression [2022/10/16 05:09] – Backreference ledyx | regular_expression [2022/10/16 15:21] (current) – 문단 수정 ledyx | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| = 기본 개념 = | = 기본 개념 = | ||
| + | |||
| + | == Basic Metacharacters == | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | ? | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | < | ||
| + | | < | ||
| + | |||
| + | == 범위 == | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | < | ||
| + | | < | ||
| + | | | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | |||
| + | == 공백 문자 == | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | | ||
| + | |||
| + | ^ Metacharacter | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | |||
| + | ^ Metacharacter | ||
| + | | | ||
| + | | | ||
| == Quantifier == | == Quantifier == | ||
| - | 수량자. | + | 수량자. |
| 과하게 일치하는 상황 방지 | 과하게 일치하는 상황 방지 | ||
| Line 25: | Line 73: | ||
| === 예시 === | === 예시 === | ||
| - | <sxh> | + | <code> |
| (? | (? | ||
| - | </sxh> | + | </code> |
| <bg skyblue>< | <bg skyblue>< | ||
| - | <sxh> | + | <code> |
| (? | (? | ||
| - | </sxh> | + | </code> |
| <bg skyblue>< | <bg skyblue>< | ||
| + | |||
| + | |||
| + | == 위치 지정 == | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | < | ||
| + | | < | ||
| + | | < | ||
| + | |||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | | ||
| + | | | ||
| + | |||
| + | |||
| + | == Lookaround == | ||
| + | |||
| + | 일치하는 영역을 제외하고, | ||
| + | |||
| + | 부정형은 "< | ||
| + | |||
| + | |< | ||
| + | ^ Metacharacter | ||
| + | | < | ||
| + | | < | ||
| + | |||
| + | ^ Metacharacter | ||
| + | | < | ||
| + | | < | ||
| + | |||
| + | === 예시 === | ||
| + | |||
| + | * 긍정형 전방탐색 | ||
| + | |||
| + | < | ||
| + | .+(?=:) | ||
| + | </ | ||
| + | |||
| + | <bg skyblue> | ||
| + | <bg skyblue> | ||
| + | <bg skyblue> | ||
| + | |||
| + | * 긍정형 후방탐색 | ||
| + | |||
| + | < | ||
| + | (?< | ||
| + | </ | ||
| + | |||
| + | A11 : $<bg skyblue> | ||
| + | B22 : $<bg skyblue> | ||
| + | Total items found : 2 | ||
| + | |||
| + | * 부정형 전후방탐색 | ||
| + | |||
| + | < | ||
| + | \b(?< | ||
| + | </ | ||
| + | |||
| + | I paid $30 for <bg skyblue> | ||
| + | <bg skyblue> | ||
| + | I saved $5 on this order. | ||
| Line 57: | Line 168: | ||
| - | = Java = | + | = 언어별 활용 = |
| + | |||
| + | == Java == | ||
| https:// | https:// | ||
| Line 67: | Line 180: | ||
| </ | </ | ||
| - | == Pattern Constant == | + | === Pattern Constant |
| <sxh> | <sxh> | ||
| Line 79: | Line 192: | ||
| </ | </ | ||
| - | == POSIX character classes (US-ASCII only) == | + | === POSIX character classes (US-ASCII only) === |
| <sxh> | <sxh> | ||
| Line 96: | Line 209: | ||
| \p{Space} A whitespace character: [ \t\n\x0B\f\r] | \p{Space} A whitespace character: [ \t\n\x0B\f\r] | ||
| </ | </ | ||
| - | = 활용 = | ||
| - | == 전화번호 == | ||
| - | <sxh java> | ||
| - | ^(02|0[3-6]{1}[1-5]{1})-? | ||
| - | ^(15(44|77|88|99)|1644)-? | ||
| - | </ | ||
| - | |||
| - | == 소괄호 안 문자(= Parameter) 추출 == | ||
| - | <sxh java> | ||
| - | String str = "(int a, int b)"; | ||
| - | |||
| - | Pattern p = Pattern.compile(" | ||
| - | Matcher m = p.matcher(str); | ||
| - | |||
| - | while(m.find()) | ||
| - | System.out.println(m.group(1)); | ||
| - | </ | ||