Проверить, что совпадение не может быть пустым - PullRequest
0 голосов
/ 04 июня 2018

Возможно ли, что javascript linter скажет, будет ли регулярное выражение всегда давать непустое совпадение?

s.match(/\w*/)[0]           // valid
s.match(/\w+/)[0]           // invalid
s.match(/id(\d{7})/)[1]     // invalid
s.match(/id(\d{7})|$/)[1]   // valid

PS: Тот же вопрос на русском языке.

1 Ответ

0 голосов
/ 05 июня 2018

Нет, eslint не может анализировать код, подобный этому, по крайней мере, из коробки.

Кодирование строк - это тип статического анализа, который часто используется для поиска проблемных шаблонов или кода, который не придерживаетсяк определенным руководящим принципам стиля.

https://eslint.org/docs/about/

Возможно, вы могли бы написать плагин для проверки этих случаев.

...