Regex Syntax
Published:
Regex Syntax
서론
요즘 데이터를 다루는 일이 많은데, IDE에서 정규표현식만 잘 써도 생각보다 편하게 검증 및 원하는 정보를 얻을 수 있다.
널리 쓰이는 정규 표현식 기호를 적어두자
본론
기호 | 의미 | 예제 | 일치하는 문자열 예제 |
---|---|---|---|
* | 바로 앞에 있는 문자, 하위 표현식, 대괄호로 묶인 문자들이 0번 이상 나타납니다. | a*b* | aaaaaaaa, aaabbbbb, bbbbbb |
+ | 바로 앞에 있는 문자, 하위 표현식, 대괄호로 묶인 문자들이 1번 이상 나타납니다. | a+b+ | aaaaaaaab, aaabbbbb, abbbbbb |
[] | 대괄호 안에 있는 문자 중 하나가 나타납니다. | [A-Z]* | APPLE, CAPITALS, QWERTY |
() | 그룹으로 묶인 하위 표현식입니다. 정규 표현식을 평가 할 때에는 하위 표현식이 가장 먼저 평가됩니다. | (a*b)* | aaabaab, abaaab, ababaaaaab |
{m, n} | 바로 앞에 있는 문자, 하위 표현식, 대괄호로 묶인 문자들이 m번 이상, n번 이하 나타납니다. | a{2,3}b{2,3} | aabbb, aaabbb, aabb |
[^] | 대괄호 안에 있는 문자를 제외한 문자가 나타납니다. | [^A-Z]* | apple, lowercase, qwerty |
| | |로 분리된 문자, 문자열, 하위 표현식 중 하나가 나타납니다. | b(a|i|e)d | bad, bid, bed |
. | 문자 하나(글자, 숫자, 기호, 공백 등)가 나타납니다. | b.d | bad, bzd, b$d, b d |
^ | 바로 뒤에 있는 문자 혹은 하위 표현식이 문자열의 맨 앞에 나타납니다. | ^a | apple, asdf, a |
\ | 특수 문자를 원래 의미대로 쓰게 하는 이스케이프 문자입니다. | \. \| \\ | . | \ |
$ | 정규 표현식 마지막에 종종 쓰이며, 바로 앞에 있는 문자 또는 하위 표현식이 문자열의 마지막이라는 뜻입니다. 이 기호를 쓰지 않은 정규 표현식은 사실상 .*가 마지막에 있는 것이나 마찬가지여서 그 뒤에 무엇이 있든 전부 일치합니다. ^ 기호의 반대라고 생각해도 됩니다. | [A-Z]*[a-z]*$ | ABCabc, zzzyx, Bob |
?! | ‘포함하지 않는다’는 뜻입니다. 이 기호 쌍 바로 다음에 있는 문자(또는 하위 표현식)는 해당 위치에 나타나지 않습니다. 이 기호는 조금 혼란스러울 수 있습니다. 배제한 문자가 문자열의 다른 부분에는 나타나도 되니까요. 특정 문자를 완벽히 배제하려면 ^과 $를 앞뒤에 쓰십시오. | ^((?![A-Z]).)*$ | no-caps-here, $ymb0ls a4e f!ne |
맺으며
정규표현식은 예전에도 포스팅 했지만,
많이 알수록 내 인생이 더 편해지는 것 같다..
Comments