JavaScript regular expression "Nothing to repeat"

I have this error while trying to get code markers to do lexical analysis for Minic langauge!

document.writeln("1,2 3=()9$86,7".split(/,| |=|$|/));

document.writeln("<br>");
document.writeln("int sum ( int x , int y ) { int z = x + y ; }");
document.writeln("<br>");
document.writeln("int sum ( int x , int y ) { int z = x + y ; }".split(/,|*|-|+|=|<|>|!|&|,|/));

I get an error in the debugger for the last line Uncaught SyntaxError: Invalid regular expression: do not repeat anything !!

+3
source share
2 answers

You need to avoid special characters:

/,|\*|-|\+|=|<|>|!|&|,|/

See which special characters should be escaped:

+6
source

+ *, . , | - , , char .

:

/\*|-|\+|=|<|>|!|&|,/

, , , :

/[-,*+=<>!&]/

:

js> "int sum ( int x , int y ) { int z = x + y ; }".split(/[-,*+=<>!&]/);
[ 'int sum ( int x ',
  ' int y ) { int z ',
  ' x ',
  ' y ; }' ]
+3

All Articles