不明白我的“不必要的转义符”错误是从哪里来的

时间:2019-01-29 14:17:19

标签: javascript regex escaping eslint regex-recursion

我有一个包含两个值的网址,一个关键字和一个位置名称。关键字位于“ / r /”之后,位置位于“ / l /”之后。
例如:localhost:3000 / search / r / keyword / l / location

仅获取“ / r /”(关键字)之后的值和“ / l /”(位置)之后的值;我正在执行以下Regexr:

var cutResult = window.location.href.match(/\br\/\b(\b[^\/]+\b)/gi);
var cutLocation = window.location.href.match(/\b\/l\/\b(\b[^\/]+\b)/gi);

这可以解决问题,但是,React返回以下消息:

  

不必要的转义字符:/无用的转义

什么原因导致错误?

1 个答案:

答案 0 :(得分:0)

您无需在字符类(在[...]内部)中的大多数字符都转义几个:

  

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