求证则........................................................................新手在线

hellenren12345 2012-11-22 12:45:04

"#sash_left\r\n{\r\n width: 430px;\r\n float: left;\r\n}\r\n#sash_left ul\r\n{\r\n text-align: left;\r\n vertical-align: middle;\r\n padding-left: 75px;\r\n}\r\n#sash_left ul li\r\n{\r\n line-height: 16px;\r\n margin: 2px 0;\r\n}\r\n.b1, .b2, .b3, .b4\r\n{\r\n font-size: 1px;\r\n overflow: hidden;\r\n display: block;\r\n}\r\n.b1\r\n{\r\n height: 1px;\r\n background: #AAA;\r\n margin: 0 5px;\r\n}\r\n.b2\r\n{\r\n height: 1px;\r\n background: #E0E0E0;\r\n border-right: 2px solid #AAA;\r\n border-left: 2px solid #AAA;\r\n margin: 0 3px;\r\n}\r\n.b3\r\n{\r\n height: 1px;\r\n background: #E3E3E3;\r\n border-right: 1px solid #AAA;\r\n border-left: 1px solid #AAA;\r\n margin: 0 2px;\r\n}\r\n.b4\r\n{\r\n height: 2px;\r\n background: #E6E6E6;\r\n border-right: 1px solid #AAA;\r\n border-left: 1px solid #AAA;\r\n margin: 0 1px;\r\n}\r\n.contentb\r\n{\r\n height: 20px;\r\n background: #E9E9E9;\r\n border-right: 1px solid #AAA;\r\n border-left: 1px solid #AAA;\r\n}"


我想取出
".b1\r\n{\r\n    height: 1px;\r\n    background: #AAA;\r\n    margin: 0 5px;\r\n}\r\n"

中的 #AAA
".b2\r\n{\r\n    height: 1px;\r\n    background: #E0E0E0;\r\n    border-right: 2px solid #AAA;\r\n    border-left: 2px solid #AAA;\r\n    margin: 0 3px;\r\n}"

中的#E0E0E0
".b3\r\n{\r\n    height: 1px;\r\n    background: #E3E3E3;\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n    margin: 0 2px;\r\n}"

中的#E3E3E3
".b4\r\n{\r\n    height: 2px;\r\n    background: #E6E6E6;\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n    margin: 0 1px;\r\n}"

中的#E6E6E6

说明:都是取background:后面的颜色,要取的四个颜色都是会变的,其他的不变
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
beyond_me21 2012-11-22
  • 打赏
  • 举报
回复

string str="#sash_left\r\n{\r\n    width: 430px;\r\n    float: left;\r\n}\r\n#sash_left ul\r\n{\r\n    text-align: left;\r\n    vertical-align: middle;\r\n    padding-left: 75px;\r\n}\r\n#sash_left ul li\r\n{\r\n    line-height: 16px;\r\n    margin: 2px 0;\r\n}\r\n.b1, .b2, .b3, .b4\r\n{\r\n    font-size: 1px;\r\n    overflow: hidden;\r\n    display: block;\r\n}\r\n.b1\r\n{\r\n    height: 1px;\r\n    background: #AAA;\r\n    margin: 0 5px;\r\n}\r\n.b2\r\n{\r\n    height: 1px;\r\n    background: #E0E0E0;\r\n    border-right: 2px solid #AAA;\r\n    border-left: 2px solid #AAA;\r\n    margin: 0 3px;\r\n}\r\n.b3\r\n{\r\n    height: 1px;\r\n    background: #E3E3E3;\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n    margin: 0 2px;\r\n}\r\n.b4\r\n{\r\n    height: 2px;\r\n    background: #E6E6E6;\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n    margin: 0 1px;\r\n}\r\n.contentb\r\n{\r\n    height: 20px;\r\n    background: #E9E9E9;\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n}";

string color1=string.Empty;
string color2=string.Empty;
string color3=string.Empty;
string color4=string.Empty;
StringBuilder sb=new StringBuilder();
sb.Append(@".b1\r\n{\r\n    height: 1px;\r\n    background: (?<$1>#+[0-9a-zA-Z]{3,6});\r\n    margin: 0 5px;\r\n}\r\n");
sb.Append(@".b2\r\n{\r\n    height: 1px;\r\n    background:(?<$2>#+[0-9a-zA-Z]{3,6});\r\n    border-right: 2px solid #AAA;\r\n    border-left: 2px solid #AAA;\r\n    margin: 0 3px;\r\n}");
sb.Append(@".b3\r\n{\r\n    height: 1px;\r\n    background: (?<$3>#+[0-9a-zA-Z]{3,6});\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n    margin: 0 2px;\r\n}");
sb.Append(@".b4\r\n{\r\n    height: 2px;\r\n    background: (?<$4>#+[0-9a-zA-Z]{3,6});\r\n    border-right: 1px solid #AAA;\r\n");
Match mc = Regex.Match(str, sb.ToString());
if(mc.Success)
{
    color1=mc.Group["$1"].ToString();
    color2=mc.Group["$2"].ToString();
    color3=mc.Group["$3"].ToString();
    color4=mc.Group["$4"].ToString();
}
快乐乔巴 2012-11-22
  • 打赏
  • 举报
回复
(?<=background:[\s\S]).*?(?=;)
  • 打赏
  • 举报
回复
引用 4 楼 hellenren12345 的回复:
引用 1 楼 beyond_me21 的回复:C# code?1234567891011121314151617181920string str="#sash_left\r\n{\r\n width: 430px;\r\n float: left;\r\n}\r\n#sash_left ul\r\n{\r\n text-align: left;\r\n ……
晕! string str = File.ReadAllText("D:\\1.txt",Encoding.Default); var ary = Regex.Matches(str, @"background:\s*(\w+|#[a-fA-F0-9]+)").Cast<Match>().Select(t=>t.Groups[1].Value).ToArray();
hellenren12345 2012-11-22
  • 打赏
  • 举报
回复
引用 1 楼 beyond_me21 的回复:
C# code?1234567891011121314151617181920string str="#sash_left\r\n{\r\n width: 430px;\r\n float: left;\r\n}\r\n#sash_left ul\r\n{\r\n text-align: left;\r\n vertical-align: midd……
很好 帮忙补充下,还有一个忘记写了
".contentb\r\n{\r\n    height: 20px;\r\n    background: #E9E9E9;\r\n    border-right: 1px solid #AAA;\r\n    border-left: 1px solid #AAA;\r\n}"
中的 #E9E9E9
hellenren12345 2012-11-22
  • 打赏
  • 举报
回复
我天,太壮观了,先鼓鼓掌 我要从第一段代码C# 字符串中取值,后面4个代码段只是为了方便广大答友看才写出来的
  • 打赏
  • 举报
回复

    string str = File.ReadAllText("D:\\1.txt",Encoding.Default);
            var ary = Regex.Matches(str, @"\.b\d+[\s\S]*?{[\s\S]*?background:\s*(\w+|#[a-fA-F0-9]+)").Cast<Match>().Select(t=>t.Groups[1].Value).ToArray();
            

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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