正則表達式匹配:根據key獲取value


需求

 url請求html字符串,dytk值寫在js里,可以看成是key-value的格式,需要提取dytk值。

 

 解決方法

正則匹配

private string get_dytk(string html)
        {
            
            //string temp = "dytk: '(.*?)\\'";
            string key = "dytk";
            //C#正則的聲明,注:C#轉義為雙反斜杠\\
            //?'val'是給[^\\]]*匹配到的結果起別名,后面可以利用m.Groups["別名"].Value來獲取匹配到的值。?''是起別名的方式 這里別名起為 val  
            //需要重視的是:分組Groups必須在正則表達式上加括號 (),如上面的 :  [  ^\]  ]*     必須要加括號--->  : ( [  ^\]  ]*)這樣分號后面的才能以組的形勢訪問。
            Regex reg = new Regex(key + "\\s*:\\s*\'(?'val'[^\"]*)\'", RegexOptions.IgnoreCase);
            Match m = reg.Match(html);
            if (m.Success)
            {
                return m.Groups["val"].Value;
            }
            else
            {
                return string.Empty;
            }
        }

 

 

參考:

https://blog.csdn.net/luckzhang_la/article/details/22410105

https://blog.csdn.net/bornonew/article/details/54574328


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM