用正则表达式 提取字符串中的value,求正则高人解答在下两问

please_call_me_J 2013-06-03 06:21:04
问1:我用正则表达式来取实例名、用户名、密码这种=号之后的value怎么取?value之后可能有分号(;)可能没有(例如字符串末尾没有分号),能够兼容这些特俗情况的正则该怎么写,字符串如下:
Data Source=实例名;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True

问2:另外想问下另一种正则的表示方式在哪里学,我搜了下不知道关键字怎么搜,其形式如下:
(?is)<a\s*href="(?<href>[^"]*?/(?<ID>\w+)\.(html|htm))"[^>]*?>(?<content>.*?)</a>
...全文
129 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2013-06-04
  • 打赏
  • 举报
回复
1、

  //如果你是学习正则,这样
            string source = "Data Source=实例名;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True";
            foreach (Match m in Regex.Matches(source, @"(?is)([\w\s]+)=(\w+)(?=;|$)"))
            {
                Console.WriteLine(m.Groups[1].Value + "\t\t" + m.Groups[2].Value);
            }
2、问2:另外想问下另一种正则的表示方式在哪里学,我搜了下不知道关键字怎么搜,其形式如下: (?is)<a\s*href="(?<href>[^"]*?/(?<ID>\w+)\.(html|htm))"[^>]*?>(?<content>.*?)</a> 就是匹配超链接 给个学习正则的链接地址http://bbs.csdn.net/topics/380196757
maxldwy 2013-06-04
  • 打赏
  • 举报
回复
引用 1 楼 nice_fish 的回复:
1.


            string txt = @"Data Source=实例名;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True";
            var dic = txt.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToDictionary(x => x.Split('=')[0], p => p.Split('=')[1]);
            Console.WriteLine(dic["Password"]);
            Console.Read();
2.http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
学习学习
  • 打赏
  • 举报
回复
引用 1 楼 nice_fish 的回复:
1.


            string txt = @"Data Source=实例名;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True";
            var dic = txt.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToDictionary(x => x.Split('=')[0], p => p.Split('=')[1]);
            Console.WriteLine(dic["Password"]);
            Console.Read();
是这样的! 最近有些学生不知道是被哪一个培训学校的老师给轰到csdn上,狂发“正则”帖子。
  • 打赏
  • 举报
回复
1.


            string txt = @"Data Source=实例名;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True";
            var dic = txt.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToDictionary(x => x.Split('=')[0], p => p.Split('=')[1]);
            Console.WriteLine(dic["Password"]);
            Console.Read();
2.http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html

110,537

社区成员

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

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

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