Я пишу парсер JS, и мне интересно, как различать регулярное выражение (/lookup/g
) и простое деление (bar/baz/g
). Каковы правила, используемые JavaScript для определения регулярных выражений?
Как JavaScript обнаруживает регулярные выражения?
Ответ 1
Вы хотите проверить раздел 7.8.5 в спецификации ECMA (аннотированная версия обновляется в настоящее время, но всегда проверьте последний PDF из ECMA).
Помните также, что JavaScript-выражение не может быть пустым. //
- это всегда начало однострочного комментария. Также стоит упомянуть, что точку с запятой никогда не следует вставлять перед литералом регулярного выражения.
Tangential, пустое JavaScript-выражение выглядит как /(?:)/
.