정규식 test 사이트

regex101: build, test, and debug regex

정규식 예제

. ^ $ * + ? { } [ ] \\ | ( )
[a-zA-Z] : 알파벳 모두
[0-9] : 숫자

[자주 사용하는 문자 클래스]

[0-9] 또는 [a-zA-Z] 등은 무척 자주 사용하는 정규 표현식이다. 이렇게 자주 사용하는 정규식은 별도의 표기법으로 표현할 수 있다. 다음을 기억해 두자.

\\d - 숫자와 매치, [0-9]와 동일한 표현식이다.
\\D - 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식이다.
\\s - whitespace 문자와 매치, [ \\t\\n\\r\\f\\v]와 동일한 표현식이다. 맨 앞의 빈 칸은 공백문자(space)를 의미한다.
\\S - whitespace 문자가 아닌 것과 매치, [^ \\t\\n\\r\\f\\v]와 동일한 표현식이다.
\\w - 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]와 동일한 표현식이다.
\\W - 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_]와 동일한 표현식이다.

33.1. dot(.)

a.b
위 정규식의 의미는 다음과 같다.

"a + 모든문자 + b"

a[.]b
이 정규식의 의미는 다음과 같다.

"a + Dot(.)문자 + b"

반복

*

반복 (*)

ca*t	ct	Yes	"a"가 0번 반복되어 매치

+

반복 (+)

"c + a(1번 이상 반복) + t"

ca+t	ct	No	"a"가 0번 반복되어 매치되지 않음

?

? 메타문자가 의미하는 것은 {0, 1} 이다.

다음 정규식을 보자.

ab?c	abc	Yes	"b"가 1번 사용되어 매치
ab?c	ac	Yes	"b"가 0번 사용되어 매치

{m,n}


ca{2,5}t	cat	No	"a"가 1번만 반복되어 매치되지 않음
ca{2,5}t	caat	Yes	"a"가 2번 반복되어 매치
ca{2,5}t	caaaaat	Yes	"a"가 5번 반복되어 매치

※ {1,}은 +와 동일하고, {0,}은 *와 동일하다.

문자열 검색

https://ponyozzang.tistory.com/279 https://roksf0130.tistory.com/142 re 문자열 바꾸기 https://dojang.io/mod/page/view.php?id=2438