我有一个与 url 查询字符串中的问号匹配的表达式,我发现自己需要扩展表达式以适应我尝试读取的 URL 包含与问号 %3d 等效的 unicode 的情况
表达式是
var regexS = "[\\?&]" + name + "=([^&#]*)";
根据我对 RegEx 的了解,我认为这可能有效
var regexS = "[\\?&]|[\\%3d&]" + name + "=([^&#]*)";
谢谢您的帮助
我有一个与 url 查询字符串中的问号匹配的表达式,我发现自己需要扩展表达式以适应我尝试读取的 URL 包含与问号 %3d 等效的 unicode 的情况
表达式是
var regexS = "[\\?&]" + name + "=([^&#]*)";
根据我对 RegEx 的了解,我认为这可能有效
var regexS = "[\\?&]|[\\%3d&]" + name + "=([^&#]*)";
谢谢您的帮助
假设 Javascript 用于字符串转义。
请"[\\?&]|[\\%3d&]" + name + "=([^&#]*)"
注意
abc
) 优先于交替 ( a|b|c
) 并且[\\%3d&]
表示“百分比或 3 或 d 或 &”(字符类)。?
是 %3F,而不是 %3D。%3D 表示=
. 参见维基百科:百分比编码&q2=
. www.example.com?q1=v1&q2=v2
也许您也想允许转义的&符号。它的转义形式是 %26你可能的意思是"([\\?&]|\\%3f|\\%26)" + name + "=([^&#]*)"
相反。
另请注意,?
在字符类中没有特殊含义,也不需要转义:"([?&]|%3f|%26)" + name + "=([^&#]*)"