정규식은 문자 리터럴, 메타 문자, 그룹화가 존재
문자 리터럴 (Literal Characters): 정확히 일치하는 문자를 찾음
ex) 'abc'는 문자열 'abc'를 찾음
메타 문자 (Metacharacters): 문자열에서 특정한 문자 집합을 대표하는 문자입니다. 메타 문자는 다양한 의미를 가지며, 대표적으로 다음과 같다.
ex)
"a.b"는 "acb", "a#b", "a$b" 등을 포함 (단, "ab"는 포함 X)
ex)
"^abc"는 "abcdef"를 포함 (단, "aabc"는 포함 X, 무조건 "abc" 로 시작해야함 )
ex)
"abc$"는 "xabc", "yabc" 등을 포함 (단, "abcz"는 포함 X, 무조건 "abc"로 끝나야 함)
만약에 "abc"만 포함해야 한다면 '^' 를 같이 사용해서 "^abc$" 로 표현
ex)
"ab*c"는 "ac", "abc", "abbbc" 등을 포함
ex)
"ab+c"는 "abc", "abbbc" 등을 포함 (단, "ac"는 포함 X )
ex)
"ab?c"는 "ac"와 "abc"를 포함 (b가 0번 또는 1번이 나와야함)
ex)
"a[bc]d"는 "abd"와 "acd"를 포함 (b나 c가 포함 되어야함)
"abc[a-z]$" 는 앞이 "abc" 를 가지고 바로 뒤의 문자가 'a`~'z' 사이여야 함
ex)
"ab{2}c"는 "abbcc"를 포함
"ab{2,4}c"는 "abbcc", "abbbcc", "abbbbcc"를 포함
ex)
"apple|banana"는 "apple"과 "banana"를 모두 포함
ex)
"(abc)+" : "abc", "abcabc", "abcabcabc" 등과 매치
"(a|b)c" : "ac" 또는 "bc"와 매치