小编典典

禁用不必要的转义符:\ / no-useless-escape

reactjs

我有我的这个正则表达式,它将检查字符串是否包含link或url (i.e. https://eslint.org/docs/rules/no- useless- escape)。使用这个正则表达式/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,在运行我的测试用例时,我遇到了错误Unnecessary escape character: \/ no-useless-escape。如何禁用此eslint错误,以使我继续测试案例并使用正则表达式。

感谢任何帮助!


阅读 6844

收藏
2020-07-22

共1个答案

小编典典

\/in [-A-Z0-9+&@#\/%?=~_|!:,.;][-A-Z0-9+&@#\/%=~_|](不是in
:\/\/)。大多数字符不必在字符类(方括号)内转义。这应该是等效的:/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/ig因此,有关更多信息,请参见https://www.regular-
expressions.info/charclass.html,但相关部分:

在大多数正则表达式中,字符类中唯一的特殊字符或元字符是右括号[],反斜杠\,脱字符^和连字符-。通常的元字符是字符类中的普通字符,不需要用反斜杠转义。要搜索星号或加号,请使用[+
*]。如果您转义字符类中的常规元字符,则您的正则表达式可以正常工作,但这样做会大大降低可读性。

2020-07-22