我的正则表达式知识正在让我在这个问题上逃脱......
假设我有一个带有 URI 作为查询参数的 URL,ala:
http://hostname.com?uri=http://website.com/company/YoYo+&+Co+Inc&type=company
...假设我们的 uri 参数本身不包含任何参数,我想手动解析 Javascript 中的查询参数,但显然我们嵌入的 uri 参数中的&符号使得它变得更加困难,然后简单地拆分所有&符号并使用它运行从那里。
我真正想做的是定义一个正则表达式,它只匹配问号和 & 号,后面跟着一个等号,然后再跟着另一个 & 号(或行尾)。我想出了这个接近但也包括非捕获文本,我不知道为什么:
[?&](?:[^&]+)=
...这导致匹配?uri=
以及&type=
接近但捕获的比我想要的更多。我做错了什么以至于它不只捕获?
和&
匹配?换句话说,它应该只捕获?
uri 之前的类型和&
之前的类型。