正则表达式匹配:根据key获取value
Posted zev_fung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式匹配:根据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; } }
参考: