我正在尝试为 3 个特定参数解析大量 URL。URL 本身很长,可能包含许多参数 - 我不需要其中的大部分。争论有两种方式。说参数的名称是source
,可能有:
- 削减:
/source/stackoverflow/...
- 查询:(
?source=stackoverflow&...
或&source=...
)
所以本质上我想找到/source/
,?source=
或&source=
。我并不真正关心 URL 是否有效,只要包含我想要的参数的部分是。
实现这一目标的最快方法是什么?我试过正则表达式,但它似乎并不快。如果我进行暴力字符串匹配(有趣的是,这比正则表达式快得多),那么最好的方法是什么?我试图先找到source=
,然后如果没有找到,我会寻找/source/
. 但这也没有我希望的那么快。
我的正则表达式是(?:[\?/&])(?:source)(?:[=/]|(?:%3D))([a-z]+)
,以防万一它可能有帮助。
任何帮助/建议表示赞赏!谢谢!