Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 解析特定参数的URL的最佳方法?_Regex_Url_Query String - Fatal编程技术网

Regex 解析特定参数的URL的最佳方法?

Regex 解析特定参数的URL的最佳方法?,regex,url,query-string,Regex,Url,Query String,我试图为3个特定参数解析大量URL。URL本身非常长,可能包含许多参数-我不需要它们中的大多数。争论有两个方面。假设参数的名称为source,则可能有: 斜杠:/source/stackoverflow/… 查询:?source=stackoverflow&……(或&source=…) 所以本质上我想找到/source/,?source=或&source=。我确实不在乎URL是否有效,只要包含我想要的参数的部分是有效的 实现这一目标的最快方法是什么?我试过regex,但似乎不快。如果我进行蛮

我试图为3个特定参数解析大量URL。URL本身非常长,可能包含许多参数-我不需要它们中的大多数。争论有两个方面。假设参数的名称为
source
,则可能有:

  • 斜杠:
    /source/stackoverflow/…
  • 查询:
    ?source=stackoverflow&……
    (或
    &source=…
所以本质上我想找到
/source/
?source=
&source=
。我确实不在乎URL是否有效,只要包含我想要的参数的部分是有效的

实现这一目标的最快方法是什么?我试过regex,但似乎不快。如果我进行蛮力字符串匹配(有趣的是比正则表达式快得多),那么最好的方法是什么?我正在尝试首先查找
源代码=
,如果找不到,我将查找
/source/
。但这也没有我希望的那么快

我的正则表达式是
(?:[\?/&])(?:source)(?:[=/]|(?:%3D))([a-z]+)
,以防可能有用


欢迎提供任何帮助/建议!谢谢

您使用的是什么语言?您是否只尝试了正则表达式?@hwnd我尝试了正则表达式和字符串匹配。两者都不够快。它是挂着的还是你能定义为慢?