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:同样的问题在俄语中。
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:同样的问题在俄语中。
不,eslint 至少不能开箱即用地分析这样的代码。
代码 linting 是一种静态分析,经常用于查找有问题的模式或不符合某些样式准则的代码。
https://eslint.org/docs/about/
也许您可以编写一个插件来验证这些情况。