要修改一个正则,会的帮忙看看

gongshunkai3 2015-03-24 09:12:57
string str = "<meta charset=\"utf-8\"/>";
//string str = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"<meta[\s\S]+?charset=(.*?)""[\s\S]+?>", System.Text.RegularExpressions.RegexOptions.Multiline | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(str);
if (mc.Count > 0)
{
string metaCharSet = mc[0].Result("$1");
MessageBox.Show(metaCharSet);
}


求正则要找出编码:utf-8
有2个变量str 上面那个无法取到utf-8,注释掉的可以取到。需要修改正则我对正则不懂,请高手帮忙改改,多谢。
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongshunkai3 2015-03-24
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
((?<=charset=)|(?<=charset=["]))[\w-]+?(?=["])
改成这样前面有没有分号都可以匹配 当然双引号是该加\还是""看你实际了
谢谢,可以用了
  • 打赏
  • 举报
回复
((?<=charset=)|(?<=charset=["]))[\w-]+?(?=["])
改成这样前面有没有分号都可以匹配 当然双引号是该加\还是""看你实际了
gongshunkai3 2015-03-24
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
string patten = "(?<=charset=[\"]).+?(?=[\"])";
你这样试试看呢
要下面这2种都能匹配到 string str = "<meta charset=\"utf-8\"/>"; string str = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
  • 打赏
  • 举报
回复
string patten = "(?<=charset=[\"]).+?(?=[\"])";
你这样试试看呢

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧