주로 Text Editor나 로그인 폼 규칙을 정할때 사용되며 입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 표현하기 복잡하여 사용되곤 한다.
코드가 간단하지만 가독성이 매우 떨어지기 때문에 숙지하지 않으면 이해하기 힘들다는 단점이있다.
정규표현식은 / / 안에 작성하며, /Hi/라고작성하면 Hi라는 단어만 찾아내는 개념이다. 다양한 표현식을 아래 정리해보았다.
Groups and ranges
Character | 뜻 |
---|---|
x | y | x또는y |
( ) | 그룹 |
a[a-z]b | 괄호안의 어떤 문자든, a로 시작하면서[a부터z까지]b로끝나는 |
[^z] | 괄호안의 어떤 문자가 아닐때, z를 제외한 |
(?:) | 찾지만 기억하지는 않음 |
Quantifiers
Character | 뜻 |
---|---|
a? | a가a가없거나 있거나(zero or one) |
a* | a가 없거나 있거나 많거나 (zero or more) |
a+ | a가 하나 또는 많이 (one or more) |
a{2} | a가 2번 반복되는... |
{min,} | 최소 |
{min,max} | 최소, 그리고 최대 |
Boundary-type
Character | 뜻 |
---|---|
\blee , lee\b | 단어경계, lee로 시작되는...lee, lee로 끝나는lee |
\Blee | 단어 경계가 아님,lee로 끝나지않는lee |
^x | 문장의 시작, 문장에서 x문자로 시작되는 x |
x$ | 문장의 끝, 문장의 끝에있는 x |
Character classes
Character | 뜻 |
---|---|
\. , \! | 특수문자. 특수문자! |
.x | 어떤 글자(줄바꿈 문자 제외) |
\d | digit 숫자 |
\D | digit 숫자 아님 |
\w | word 문자 |
\W | word 문자 아님 |
\s | space 공백 |
\S | space 공백 아님 |