1

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

只获取'/r/'(关键字)之后的值和'/l/'(位置)之后的值;我正在做以下正则表达式:

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

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

不必要的转义字符:/ no-useless-escape

是什么导致错误?

4

1 回答 1

3

您不需要转义字符类中的大多数字符(在 [...] 中),只需几个:

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

于 2019-03-29T09:45:44.110 回答