Postman regexp - SyntaxError: Invalid or unexpected token

I'm trying to write Postman test and validate personal identification number with regexp. I have validated regexp: \b((([0-2]{1}[0-9]{1}|[3]{1}[0-1]{1})[0-9]{1}[0-9]{1}[0-9]{1}[0-9]{1}(.|\n|\t|)[0-9]{5})|[3]{1}[2]{1}[0-9]{4}(.|\n|\t|)[0-9]{5})\b

Postman test script:

    var req = JSON.parse(pm.request.body.raw);
    pm.expect(req.personnumber).to.match( \b((([0-2]{1}[0-9]{1}|[3]{1}[0-1]{1})[0-9]{1}[0-9]{1}[0-9]{1}[0-9]{1}(.|\n|\t|)[0-9]{5})|[3]{1}[2]{1}[0-9]{4}(.|\n|\t|)[0-9]{5}\b), "wwww" );
}); 

Postman returns following error while trying to execute test script: There was an error in evaluating the test script: SyntaxError: Invalid or unexpected token

1 answer

  • answered 2020-09-24 16:39 Anton

    This error SyntaxError: Invalid or unexpected token comes from that you forgot about / in the beginning and end of regexp:

    pm.expect(req.personnumber).to.match( /\b((([0-2]{1}[0-9]{1}|[3]{1}[0-1]{1})[0-9]{1}[0-9]{1}[0-9]{1}[0-9]{1}(.|\n|\t|)[0-9]{5})|[3]{1}[2]{1}[0-9]{4}(.|\n|\t|)[0-9]{5}\b)/, "wwww" );