정규표현식
Regular Expression
자바스크립트 기준으로 작성한다.
- 아래 두 개는 같은 표현방식이다.
var pattern = /a/
var pattern = new RegExp('a')
- 정규표현식 메서드
pattern.test()
pattern.exec()
- 문자열 정규표현식 활용 (메서드)
var str = "abcdef"
str.replace(pattern, "A")
str.match(pattern)
=> 반환값은 boolean
옵션
- 'i' 는 대소문자를 구분하지않는다는 의미다.
var pattern = /a/i
- 'g' 는 global 즉, 전역으로 검색하겠다는 의미다. 모든 결과 리턴
var pattern = /a/g
- '\' (back slash) 는 문자로 인식하게끔 만들어준다. (escape 문자)
- '^' 맨 앞을 의미 , '$' 는 문자열의 끝을 의미한다.
- '.' (point) 어떠한 모든 문자를 의미한다.
- '( )' (소괄호) grouping 을 의미한다.
- '[ ]' (대괄호) 특정문자에 대해 한정시킨다. 대괄호안의 낱개의 문자'들'은 정규표현검색에서 '한' 개의 문자로 인식된다.
- '-' (dash) Range, 범위를 지정할 수 있다.
- '^' 이 문자는 carrot 이라고 하는데 대괄호 안에서 사용이 될 경우 기존의 맨 앞을 의미했던것과는 다른 의미가 되며 인식되는 의미는 부정의 의미로서 대괄호 안의 문자들과는 맞지 않는 것들만 선택한다.
- '*' (수량자) 0 ~ 여러 개를 의미한다. 있을수도있고 없을수도있고
- '+' (수량자) 1 ~ 여러 개를 의미한다.
- '?' (수량자) 없거나 하나 있거나
-> ex) a*b (b 앞에 있는 a가 0개일수도있고 여러개있을수도있고)
-> ex) a+b (b 앞에 무조건 하나 이상의 a가 있어야한다)
-> ex) a?b (b 앞에 a가 없을 수 도있고 하나 있는 경우도 있고)
- '{}' 중괄호 안에는 숫자가 들어갈 수 있고 해당 숫자만큼을 선택한다.
콤마를 중괄호 안에 사용할 수 있으며 두 개의 숫자 사이에 콤마를 지정할경우 이상 이하를 의미.
한개의 숫자와 한개의 콤마로 이루어져있을 경우 해당 숫자 이상을 의미.