Language/JavaScript

[JavaScript] 정규표현식

jaewpark 2021. 10. 7. 09:56

컴파일

검출하고자 하는 패턴 만드는 일, 아래와 같이 정규표현식 객체를 만드는 일은 2가지가 있다.

 

정규표현식 리터럴

var pattern = /a/;

정규표현식 객체 생성자

var pattern = new RegExp('a');

 

정규표현식 메소드 실행

RegExp.exec()

console.log(pattern.exec('abcdef'));    //TRUE

console.log(pattern.exec('abcdef'));    //FALSE


Sting과 정규표현식

 

String.match()

  • RegExp.exec()와 비슷하다.

var pattern = /a/;

var str = 'abcde';

str.match(pattern);    // ["a"] 출력

'bcdef'.match(pattern);   // null 출력

 

String.replace()

  • 패턴을 검색하여 변경될 값으로 변경 후 리턴

str.replace(pattern, 'A');    //  'Abcde' 출력


정규표현식의 옵션 i, g

옵션 i

  • 대소문자를 구분 X

var oi = /a/i;

console.log("ABCDE".match(oi));    // ["A"] 출력

 

옵션 g

  • 검색된 모든 결과를 리턴

var og = /a/g;

 

console.log("abcda".match(og));     // ["a", "a"] 출력

 

i 와 g 옵션 두 개를 같이 쓸 수 있다.

var oig = /a/ig;


var pattern = /(\w+)\s(\w+)/;

\w = a~z, A~Z, 0~9 까지의 문자

+ = 수량자, \w 붙으면서 하나이상의 문자들을 의미

\s = space

var str = "coding everyday"

var result = str.replace(pattern, "$2, $1");

$ 캡쳐, 그룹을 나누고 각각을 명칭한다

 

 

정규표현식 강의
정규표현식 시각화