使用正则表达式删除 url 参数
Removing url params using regex
我在从“:”开始从 url 中删除参数时遇到问题。我有这样的示例路径:
/foo/:some_id/bar/:id
我想存档以下结果:
/foo/bar
我试图创建一些正则表达式。我想通了:
\/:.*?\/
但是这个删除了 :some_id 但它仍然留下了 :id 部分。你能告诉我如何修改我的正则表达式以删除所有参数吗?
您的正则表达式要求 /
出现在末尾。您不能只从正则表达式中删除 /
因为 .*?
不会匹配任何东西。使用 negated character class:
\/:[^\/]+
图案详情:
\/:
- 匹配文字 /:
[^\/]+
- 匹配 /
以外的 1+ 个字符,因为 [^...]
定义了否定字符 class 匹配除 class 中定义的所有字符.
我在从“:”开始从 url 中删除参数时遇到问题。我有这样的示例路径:
/foo/:some_id/bar/:id
我想存档以下结果:
/foo/bar
我试图创建一些正则表达式。我想通了:
\/:.*?\/
但是这个删除了 :some_id 但它仍然留下了 :id 部分。你能告诉我如何修改我的正则表达式以删除所有参数吗?
您的正则表达式要求 /
出现在末尾。您不能只从正则表达式中删除 /
因为 .*?
不会匹配任何东西。使用 negated character class:
\/:[^\/]+
图案详情:
\/:
- 匹配文字/:
[^\/]+
- 匹配/
以外的 1+ 个字符,因为[^...]
定义了否定字符 class 匹配除 class 中定义的所有字符.