Programming/JavaScript

JavaScript 정규표현식에서 \b 와 \B

dododoo 2020. 4. 15. 12:57

Word Boundary \b

JS 정규표현식에서 \b는 word boundary이며, 이름 그대로 word character(\w)의 경계를 말합니다. 즉, 문자열에서 어느 한쪽은 word character([_a-zA-Z0-9])이고 다른 쪽은 non-word character([^_a-zA-Z0-9])인 지점들은 모두 word boundary로 볼 수 있습니다. 또한, word character와 문자열의 시작(^) 또는 끝($)의 사이 역시 word boundary로 볼 수 있습니다.


주의할 점은 \b는 어떤 지점을 의미하므로 특정 문자와 매칭되는 것이 아니라는 겁니다.

 

Word Boundary

 

Non-word Boundary \B

\B는 non-word boundary입니다. \B는 non-word character의 경계로 생각하면 혼란스러운 것 같습니다.

 

\b와 반대라고 생각하는 것이 적절하며 이는 다음과 같습니다.

  • 두 word character의 사이
  • 두 nonword character의 사이
  • nonword character와 문자열의 시작 또는 끝의 사이
  • 빈 문자열 (empty string)

Non-word Boundary

 

Reference

'Programming > JavaScript' 카테고리의 다른 글

[EloquentJS] Ch11. Asynchronous Programming  (0) 2020.04.20
Closure 관련 자료  (0) 2020.04.15
[EloquentJS] Ch10. Modules  (0) 2020.04.14
[EloquentJS] Ch9. Regular Expressions  (0) 2020.04.14
[EloquentJS] Ch8. Bugs and Errors  (0) 2020.04.14