javascriptregexword-boundaryboundaryword-boundaries

What are non-word boundary in regex (\B), compared to word-boundary?


What are non-word boundary in regex (\B), compared to word-boundary?


Solution

  • A word boundary (\b) is a zero width match that can match:

    In Javascript the definition of \w is [A-Za-z0-9_] and \W is anything else.

    The negated version of \b, written \B, is a zero width match where the above does not hold. Therefore it can match:

    For example if the string is "Hello, world!" then \b matches in the following places:

     H e l l o ,   w o r l d !
    ^         ^   ^         ^ 
    

    And \B matches those places where \b doesn't match:

     H e l l o ,   w o r l d !
      ^ ^ ^ ^   ^   ^ ^ ^ ^   ^