Use RegEx to split a string in Javascript (preserving separators)

Kumar Abhishek's avatar Kumar Abhishek 1 min read

Use the Javascript split() function with a Positive Lookbehind Regular Expression to split a string while preserving the separators in the sub-strings:

split(/(?<=[<separator characters go here>])/)

What is Lookbehind? §

Lookbehind in regular-expression allows to match a pattern only when it follows the given lookbehind pattern (without actually matching it).

Syntax §

  • Positive lookbehind: (?<=Y)X matches X if there is Y before it.
  • Negative lookbehind: (?<!Y)X matches X if there is no Y before it.

One limitation is that Javascript only supports fixed length lookbehind patterns. So, you cannot use it to split by a separator pattern with variable length.

Demo §

All Notes Suggest Edit