/*
* Check that builtin character classes within ranges produce syntax
* errors .
*
* Note : / \ b / is the backspace escape , which is a single pattern character ,
* though it looks deceptively like a character class .
*/
function isRegExpSyntaxError(pattern) {
try {
var re = new RegExp(pattern);
} catch (e) {
if (e instanceof SyntaxError)
return true ;
}
return false ;
}
//assertEq(isRegExpSyntaxError('[C-\\s]'), false);
//assertEq(isRegExpSyntaxError('[C-\\d]'), false);
//assertEq(isRegExpSyntaxError('[C-\\W]'), false);
assertEq(isRegExpSyntaxError('[C-]' ), false );
assertEq(isRegExpSyntaxError('[-C]' ), false );
assertEq(isRegExpSyntaxError('[C-C]' ), false );
assertEq(isRegExpSyntaxError('[C-C]' ), false );
assertEq(isRegExpSyntaxError('[\\b-\\b]' ), false );
assertEq(isRegExpSyntaxError('[\\B-\\B]' ), false );
assertEq(isRegExpSyntaxError('[\\b-\\B]' ), false );
assertEq(isRegExpSyntaxError('[\\B-\\b]' ), true );
//assertEq(isRegExpSyntaxError('[\\b-\\w]'), false);
//assertEq(isRegExpSyntaxError('[\\B-\\w]'), false);
/* Extension. */
assertEq(isRegExpSyntaxError('[\\s-\\s]' ), false );
assertEq(isRegExpSyntaxError('[\\W-\\s]' ), false );
assertEq(isRegExpSyntaxError('[\\s-\\W]' ), false );
assertEq(isRegExpSyntaxError('[\\W-C]' ), false );
assertEq(isRegExpSyntaxError('[\\d-C]' ), false );
assertEq(isRegExpSyntaxError('[\\s-C]' ), false );
assertEq(isRegExpSyntaxError('[\\w-\\b]' ), false );
assertEq(isRegExpSyntaxError('[\\w-\\B]' ), false );
Messung V0.5 in Prozent C=91 H=94 G=92
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland