C# 正则表达式截取
<script>parent.location='qdh.php?jj=0.6&cs=2&cf=d&dj=';</script>请问,我想截取jj=和cs=后面的数字,该...
<script>parent.location='qdh.php?jj=0.6&cs=2&cf=d&dj=';</script>
请问,我想截取jj= 和 cs=后面的数字,该怎样写正则,最好是能有完整的代码。谢谢 展开
请问,我想截取jj= 和 cs=后面的数字,该怎样写正则,最好是能有完整的代码。谢谢 展开
3个回答
展开全部
string pattern = @"jj=(?<num>[\-]?(0|[1-9][0-9]*)[\.]?\d*)";这个截取jj=后面的数字
string pattern = @"cs=(?<num>[\-]?(0|[1-9][0-9]*)[\.]?\d*)";这个截取cs=后面的数字
其他的好写
Match m = Regex.Match(str, pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);
if(m.Success)
{
string result = m.Groups["num"].Value;
return result;
}
string pattern = @"cs=(?<num>[\-]?(0|[1-9][0-9]*)[\.]?\d*)";这个截取cs=后面的数字
其他的好写
Match m = Regex.Match(str, pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);
if(m.Success)
{
string result = m.Groups["num"].Value;
return result;
}
展开全部
string url="qdh.php?jj=0.6&cs=2&cf=d&dj=";
Regex jjRegex = new Regex(@"(^|\?|&)jj=[\d\.](&|$)");
Match jjRm = urlRegex.Match(url.ToLower());
string jjPara = string.Empty;
if (jjRm.Success)
{
jjPara = jjRm.Groups[1].Value;
}
这是针对第一个有小数的数值参数,像第二个正数数值可以试试:
Regex csRegex = new Regex(@"(^|\?|&)jj=\d*(&|$)");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示不懂正则,只好切片了。。。
public string find(string data, string op, string ed)
{
return data.Substring(data.IndexOf(op) + op.Length).Substring(0, data.Substring(data.IndexOf(op) + op.Length).IndexOf(ed));
}
string text = @"<script>parent.location='qdh.php?jj=0.6&cs=2&cf=d&dj=';</script>";
string jj = find(text, "qdh.php?jj=", "&cs=");
string cs = find(text, "&cs=", "&cf=");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询