11/16 정규표현식
정규표현식
정규 표현식은 문자열의 패턴을 표현하는데 사용되는 형식 언어이다. 주로 문자열에서 원하는 패턴을 찾거나 추출할 때, 검색, 치환, 분리 등의 작업에 활용된다..
[] 문자 : 문자 클래스
[]은 [ 와 ] 사이의 문자들과 매치하라는 의미를 갖는다.
[] 사이에는 어떤 문자도 들어갈 수 있다.
[abc]
# a, b, c 중 한개의 문자와 매치
하이픈(-)
[] 안에 있는 두 문자 사이 - 를 사용하면 두 문자 사이의 범위를 뜻한다.
예를 들어,
[a-zA-Z]
# 모든 알파벳
not(^)
^은 not의 의미를 가지고 있다
[^0-9]
# 숫자가 아닌 다른 모든 문자와 매치
별도 표기법
- \d : 숫자
- \D : 숫자가 아닌 문자와 매치
- \s : 공백 문자(tab, space, new line 등등)와 매치
- \S : 공백 문자가 아닌 문자
- \w : 문자 또는 숫자
- \W : 문자 또는 숫자가 아닌 문자
.(dot)
dot 문자는 \n을 제외한 모든 문자와 매치한다.
[a.b]
# a와 b 사이 \n을 제외한 모든 문자가 올 수 있다.
a[.]b
# .문자 그대로를 의미한다.
*
*는 * 앞에 있는 문자를 0번 이상의 횟수 만큼 반복할 수 잇다는 의미이다.
a*
# a를 0번 이상 반복
+
+는 + 앞에 있는 문자를 1번 이상 반복할 때 사용한다.
a+
# a를 1번 이상 반복
{}
{}은 괄호 안의 조건만큼의 횟수 만큼 반복할 때 사용한다.
-
{m} : 딱 m회 반복
-
{m, n} : m회 이상 n회 이하 반복
fro{3}g # frooog fro{2, 3} # froog, frooog # frog => 해당 x
?
?은 {}와 비슷한 메타문자로, {0, 1}와 동일한 역할을 한다. 1회만 있어도 되고 없어도 된다.
댓글남기기