У меня есть функция, которая запускает сгенерированный пользователем Regex. Однако, если пользователь вводит регулярное выражение, которое не запускается, он останавливается и падает. Я попытался обернуть строку в блок Try / Catch, но, увы, ничего не происходит.
Если это поможет, я запускаю jQuery, но в приведенном ниже коде его нет, так как я предполагаю, что это немного более фундаментально, чем это.
Редактировать: Да, я знаю, что я не убегаю от "[", это намеренно и суть вопроса. Я принимаю пользовательский ввод и хочу найти способ уловить проблему такого рода, чтобы приложение не сработало.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Regex</title>
<script type="text/javascript" charset="utf-8">
var grep = new RegExp('gr[');
try
{
var results = grep.exec('bob went to town');
}
catch (e)
{
//Do nothing?
}
alert('If you can see this then the script kept going');
</script>
</head>
<body>
</body>
</html>