正则连续匹配-符号

Netcean 2010-07-22 06:06:09

StringBuilder txt = new StringBuilder();
txt.Append("<div> sssss</div>");
txt.Append("<div>-1极极极</div>");
txt.Append("<div> </div>");
txt.Append("<div>--2极极极</div>");
txt.Append("<div> </div>");
txt.Append("<div>---3极凡尔赛极</div>");
txt.Append("<div>----4极凡尔赛极</div>");
txt.Append("<div>-----5极凡尔赛极</div>");
txt.Append("-aaa极凡尔赛极");
txt.Append("--bbb极凡尔赛极");


把txt.Append("<div>-1极极极</div>");
变成<div class="class1">1极极极</div>

txt.Append("<div>--2极极极</div>"); 变成<div class="class2">2极极极</div>
txt.Append("<div>---3极凡尔赛极</div>");变成<div class="class3">3极凡尔赛极</div>

========================================
正则的表达式要怎么写呢?
string pstr = @"<div>-{2,}.*?</div>";
我一直想用{1,2}这样查找连续匹配一到两个,但一直查找不出来
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Netcean 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxcnn 的回复:]
看这个需求真的挺郁闷的,都不知道源字符串是什么。。。


C# code
Regex reg = new Regex(@"(?i)<div>(-+)");
string result = reg.Replace(yourStr, delegate(Match m) { return "<div class=\"class" + m.Groups[1].Length + "\">"; })……
[/Quote]

源字符串是会员输入的

其中带有一定的格式,如输入某行的第一个字符为-,则把这行所有的文字加上DIV格式(<div class='classname'>输入的内容</div>)
如是连续两个-,则DIV的样式名就变成另外的了
  • 打赏
  • 举报
回复
其实也简单:
用正则替换就可以了。
String PageCode=""; //你要替换的字符,或者源码

//第一个参数为,你要替换的字符,第二个替换的正则,第三个是替换为什么。
PageCode=Regex.replace(PageCode,"-","");
-过客- 2010-07-22
  • 打赏
  • 举报
回复
看这个需求真的挺郁闷的,都不知道源字符串是什么。。。

Regex reg = new Regex(@"(?i)<div>(-+)");
string result = reg.Replace(yourStr, delegate(Match m) { return "<div class=\"class" + m.Groups[1].Length + "\">"; });

62,046

社区成员

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

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

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

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