특정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다.
주로 패턴(pattern)으로 부르는 정규 표현식은 특정 목적을 위해 필요한 집합을 지정하기 위해 쓰이는 식이다.
^ : 문자열의 시작을 의미한다.
$ : 문자열의 끝을 의미한다.
. : 문자 한 개를 의미한다. '.'이 위치한 곳에 어떤 문자든지 1개의 문자가 들어간다.
[ ] : 대괄호에 있는 문자 중 한 개를 의미한다. [abc]는 a,b,c 중 하나를 선택함을 의미한다.
[^] : not 의 의미이다. [^abc] 는 a,b,c 를 제외하고 나머지를 의미한다.
| : or을 의미한다.
( ) : 공통되는 부분을 묶을 때, 서브 패턴을 지정할 때 사용한다.
abc|abd -> ab(c|d) 로 바꿀 수 있다.
? : 문자가 0회 또는 1회 등장을 의미한다. a? b 는 a가 등장할 수도 있고 등장 안할 수도 있다는 의미이다 -> ab, b
* : 문자가 0회 이상 등장을 의미한다.
a*b -> b, ab, aaab, aaaab ...
+ : 문자가 1회 이상 등장을 의미한다.
a+b -> ab, aab, aaab ...
{n} : 문자가 n개 등장을 의미한다.
a{2}b -> aab
-{n,} : 문자가 n개 이상 등장을 의미한다.
a{2,}b -> aab, aaab, aaaab ...
{n, m} : 문자가 n개 이상 m개 이하로 등장을 의미한다.
a {1,3} b -> ab, aab, aaab
\s : 공백 제거를 의미한다.
\t : 탭을 의미한다.
\d : 숫자, [0-9]를 의미한다.
\b : 단어의 경계, 문자 사이의 공백을 의미한다.
\w : 알파벳이나 숫자, [a-zA-Z0-9_]를 의미한다.
참고자료 :
https://yoon-dailylife.tistory.com/113
https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D