Are there JavaScript equivalents of the Vim regula

2020-07-13 07:28发布

问题:

I know most regular expression engines, including the one in JavaScript have \b to match a word boundary, be it at either the start or end of a word.

But Vim also has two more specific regular expression atoms:

  • \< matches only the word boundary at the start of a word
  • \> matches only the word boundary at the end of a word

Does JavaScript have an equivalent to these atoms, and if not is there a way to express their more precise semantics some other way?

回答1:

As far as I know there is nothing predefined. But what you can do is, to add a lookahead to the word boundary, to check if it is the start or the end of the word.

\< would be then \b(?=\w). This checks if after the word boundary a word character is following ==> start of the word. See this as example on regexr

\> would be then \b(?!\w). This checks if after the word boundary not a word character is following ==> end of the word