正規表示式解析url引數

2022-03-17 07:50:57 字數 1965 閱讀 5891

解析url引數正則:(?<=\?|&)[\w\={}\\\\,-:'\s'""]*(?=[^#\s]|)

意思是(?<=\?|&) 從?或&符號開始匹配之後的滿足 [\w\={}\\\\,-:'\s'""]*的字串 但是不包含& 1個到多個   (?=[^#\s]|)匹配空格|#號之前或者空格之前結束

正好專案中要用到 搗鼓了好久還是不會.最終放棄使用split分割的方式解析發現好落伍

public

static namevaluecollection querystring(string

path)

var arr=path.split(new

char , stringsplitoptions.removeemptyentries);

if (arr.length != 2

)

var values = arr[1

]; arr = values.split(new

char , stringsplitoptions.removeemptyentries);

if (arr == null) return

null

;

string

itemvalues;

namevaluecollection nvcs = new

namevaluecollection();

foreach (var item in

arr)

, stringsplitoptions.removeemptyentries);

if (itemvalues == null || itemvalues.length == 0) continue

; nvcs.add(itemvalues[

0], itemvalues.length <= 1 ? string.empty : itemvalues[1

]); }

return

nvcs;

}

然後去看正則的文件 修改後版本

其實微軟有封裝好的方法 system.web.httputility.parsequerystring  傳入?號後面一部分就好了  有種有現成的不用 造輪子的感覺。 但是無所謂啦 當練習正則 還有自己的**也好把控一點

推薦一篇不錯的講正則的文章

正規表示式解析

正規表示式,又稱正規表示式,常規表示式,是使用單個字串來描述.匹配一系列符合某個句法規則的字串,在很多文字編輯器中,正規表示式通常被用來檢索.替換那些符合某個模式的文字.正規表示式的語法可以自行搜尋,通常分為一下幾個方面 1 字元 可以使用普通字元匹配,例 a 使用預定義字元表示給定範圍中的某個字元...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...