-
[Regex] 정규표현식 - 문자 클래스언어/Javascript 2022. 6. 16. 22:24
정규표현식에서 문자 클래스를 사용하면 좀 더 깔끔한 정규표현식을 작성할 수 있다
위키 백과의 정규표현식에 보면 아래와 같이 클래스를 정의하고 있다.

Javascript는 펄의 정규식과 비슷한 문법을 채택하고 있다고 한다
즉 아래의 클래스들을 기본으로 사용하는 것
\w , \W , \b , \d , \D , \s , \S 이 클래스들에 대한 설명의 위 표에서 볼 수 있다
그 중에서도 다른 클래스들은 그래도 조금 사용해 봤는데
\b 는 조금 낯설었고, 마침 mdn web docs에 예시가 있어서 테스트 해본 것을 가져왔다.
const regexpWords = /\b\w+\b/g; const text = 'A quick fox'; console.log(text.match(regexpWords)); // output: Array ["A", "quick", "fox"] const text2 = 'Oh my god, A quick fox'; console.log(text2.match(regexpWords)); // output: Array ["Oh", "my", "god", "A", "quick", "fox"] const text3 = '안녕하세요 만나서 반갑습니다'; console.log(text3.match(regexpWords)); // output: null처음에 테스트를 해봤을 때
영어 단어를 기준으로 잘라지는게 신기했고, 띄어쓰기를 기준으로 자르는 걸까?라는 생각에
한글로도 테스트 해봤는데 null... 단어도 나열 해봤는데 똑같이 null.. 인 것을 확인했다.
근데 또 없는 이상한 영단어(예를 들어 dfkjqlrk)를 써보았는데 정상적으로 Array에 담았다. (서운...)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes
Character classes - JavaScript | MDN
Character classes distinguish kinds of characters such as, for example, distinguishing between letters and digits.
developer.mozilla.org
'언어 > Javascript' 카테고리의 다른 글
[Javascript] this 에 대해 알아보기 (0) 2022.07.07 [Javascript] 이벤트 루프 - 런타임 개념 (0) 2022.06.22 [Javascript] 문자열 함수 (0) 2022.06.08 [Javascript] Set 객체 (0) 2022.06.07 [Regex] 정규표현식 - Flags (0) 2022.05.31