9/14 학습

HARIBO·2021년 9월 14일
0

정규 표현식

  • 반복 검색
let str = 'apple apply';

//?는 앞의 문자(e) 가 최대 한번 반복가능함을 의미한다
const regexp = /apple?/g
console.log(str.match(regexp));  //[ 'apple', 'appl' ]
  • or
let str = 'apple apply';

//|은 or을 의미
const regexp = /apple|apply/g
console.log(str.match(regexp));  //[ 'apple', 'apply' ]

//a또는 p가 한번 이상 반복되는 문자열
const regexp = /a+|p+/g
console.log(str.match(regexp));  //[ 'a', 'pp', 'a', 'pp' ]

//[]와 -를 사용해 범위 지정
//대문자, 소문자 알파뱃이 한 번 이상 반복되는 문자열
const regexp = /[A-Za-z]+/g
console.log(str.match(regexp));  //[ 'apple', 'apply' ]

//알파벳 한 글자
const regexp = /[A-Za-z]/g
console.log(str.match(regexp));  //['a', 'p', 'p', 'l','e', 'a', 'p', 'p', 'l', 'y' ]

//알파벳이 3번 반복
const regexp = /[A-Za-z]{3}/g
console.log(str.match(regexp));  //[ 'app', 'app' ]

let str = '123,456,789';

//숫자의 경우
const regexp = /[0-9]+/g
console.log(str.match(regexp));  //[ '123', '456', '789' ]

//숫자 또는 ','반복
const regexp = /[0-9,]+/g
console.log(str.match(regexp));  //[ '123,456,789' ]

//\d는 숫자를 의미
const regexp = /[\d,]+/g
console.log(str.match(regexp));  //[ '123,456,789' ]

//\D는 숫자를 제외한 것을 의미
const regexp = /[\D,]+/g
console.log(str.match(regexp));  //[ ',', ',' ]

let str = 'apply_apple&fresh_apple';

//\w는 [A-Za-z0-9_]와 같다. \W는 \w를 제외한 것들이다
const regexp = /[\w]+/g
console.log(str.match(regexp));  //[ 'apply_apple', 'fresh_apple' ]

//[]안의 ^는 not을 의미한다
const regexp = /[^_&]+/g
console.log(str.match(regexp));  //[ 'apply', 'apple', 'fresh', 'apple' ]

//[]밖의 ^는 가장 앞 글자를 뜻한다
const regexp = /^apply/g
console.log(regexp.test(str));  //true

//$는 가장 뒤 글자를 뜻한다
const regexp = /apple$/g
console.log(regexp.test(str));  //true

let str = '0123456789';

//숫자로만 이뤄진 문자열 검사
//앞과 뒤가 숫자이고 숫자가 한 번 이상 반복
const regexp = /^\d+$/g
console.log(regexp.test(str));  //true

출처
이웅모, 모던 자바스크립트 Deep Dive(2021)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN