我試圖刪除一個大串的非URL的一部分。我發現的大部分正則表達式都像[A-Za-z0-9-_.!~*'()]
,但是URL還可以包含更多的東西。像http://127.0.0.1:8080/test?v=123#this
例如
那麼有效的URL的最新字符是什麼?
編輯:
他們似乎是:
A-ZA-Z0-9 -._〜:?!/#[] @ $ &「()* +,=跟着%的十六進制值
我試圖刪除一個大串的非URL的一部分。我發現的大部分正則表達式都像[A-Za-z0-9-_.!~*'()]
,但是URL還可以包含更多的東西。像http://127.0.0.1:8080/test?v=123#this
例如
那麼有效的URL的最新字符是什麼?
編輯:
他們似乎是:
A-ZA-Z0-9 -._〜:?!/#[] @ $ &「()* +,=跟着%的十六進制值
所有血淋淋的細節可以在這個專題的當前RFC中找到:RFC 3986 (Uniform Resource Identifier (URI): Generic Syntax)
基於this related answer,你正在尋找一個名單看起來像:A-Z
,a-z
,0-9
,-
,.
,_
,~
,:
,/
,?
,#
,[
,]
,@
,!
,$
,&
,'
,(
,)
,*
,+
,,
,;
和=
。其他一切必須是url-encoded。而且,其中一些字符只能存在於URI中的特定位置,RFC具有所有這些特性。
注意:此列表不包含百分號 – thomasrutter
這是正確的@thomasrutter,%用於網址編碼。 %需要表示爲%25才能用於URI。 來自RFC: 由於百分比(「%」)字符用作百分比編碼的八位位組的指示符,因此該字節必須百分比編碼爲「%25」,以用於該URI中的數據。 – ckittel
只要提到那些('/','?','#','&','+')有效,就會在具有查詢組件的URL中提供特定的功能並且不會被視爲只是普通的字符 – kofifus
你看過RFC嗎? http://www.faqs.org/rfcs/rfc1738.html – ale