我正在尝试删除大字符串的非URL部分。我发现的大多数正则表达式都类似于[A-Za-z0-9-_.!~*'()],但是URL可以包含更多内容。像http://127.0.0.1:8080/test?v=123#this例如那么有效网址的最新字符是什么?
3 回答
隔江千里
TA贡献1906条经验 获得超10个赞
可以在当前的RFC主题上找到所有详细信息: RFC 3986(统一资源标识符(URI):通用语法)
基于此相关的答案,你在看,看起来像一个列表:A-Z,a-z,0-9,-,.,_,~,:,/,?,#,[,],@,!,$,&,',(,),*,+,,,;,%,和=。其他所有内容都必须经过url编码。此外,这些字符中的某些字符只能存在于URI中非常特定的位置,而这些位置之外的位置必须进行url编码(例如%,只能与中的url编码结合使用%20),RFC具有所有这些特定条件。
慕容3067478
TA贡献1773条经验 获得超3个赞
您的回答充其量是模棱两可的。您想澄清一下您认为正确的吗?问题是URL中哪些字符有效。并不是问哪些字符需要转义。除以外的其他字符%
,例如/
,具有特殊含义,需要转义以使其成为路径成分数据的一部分;但这不是问题
临摹微笑
TA贡献1982条经验 获得超2个赞
这是正确的@ thomasrutter,%用于URL编码。必须将%表示为%25才能在URI中使用。从RFC:由于百分号(“%”)用作百分号编码八位字节的指示符,因此必须将该百分号编码为“%25”才能将该八位字节用作URI中的数据。
- 3 回答
- 0 关注
- 379 浏览
添加回答
举报
0/150
提交
取消