在 url 中使用正则表达式模式获取搜索词



在我的网站上,我有这些搜索网址类型:

https://www.example.org/folder/subfolfer/(search_text)/Theterme%20i%20want/(search_on)/all/(limit)/48/(sort)/order

https://www.example.com/Folder/subfolder/mysearchdir/(only_lowercase)/false/(search_text)/theterme I want

在我的分析后台中,我设置了这个正则表达式:

((search_text))/(.*)(?=(search)

我已经尝试过这个:

((search_text))/(w*)

但它只需要第一个单词,如果单词包含特殊的法语字符(如 ô 或 ë),则不匹配。

是否有可能让正则表达式将"/(search_text)/"之间的所有内容都获取到下一个斜杠?

您可以从以后不使用的模式部分中删除分组括号,并使用[^/]+来匹配除/以外的任何字符,一次或多次,而不是w*

/(search_text)/([^/]+)/

查看正则表达式演示

  • (search_text)/- 文字(search_text)/文本
  • ([^/]+)- 捕获组 1:除/以外的一个或多个字符。

最新更新