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_]와 동일한 표현식이다.
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번 사용되어 매치
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