简单的正则,请大家帮忙

红皮猴 2009-10-13 12:06:30
如何把字符串末尾的<br>p用正则去除如下面4段字符串:
asdadasd<br>p<br>p<br>p<br>p
bbbbbbbb<br>p<br>p
cccccccc<br>p<br>p
dddddddd<br>p<br>p<br>p<br>p
替换后
asdadasd
bbbbbbbb
cccccccc
dddddddd
...全文
108 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2009-10-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
class Test
{
static void Main()
{
string str = @"asdadasd <br>p <br>p <br>p <br>p ";
Console.WriteLine(Regex.Replace(str,@"<br>p",""));
}
}
}
十八道胡同 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 huigy 的回复:]
狗哥,谢了
[/Quote]
飞翔的狗的几种答案在我这里怎么都是错的?lz你用的他的那种解决的?
红皮猴 2009-10-13
  • 打赏
  • 举报
回复
狗哥,谢了
goodbetter_4107607 2009-10-13
  • 打赏
  • 举报
回复
Regex.Replace("aaa", @"( ?<br>p ?)*$", "", RegexOptions.IgnoreCase);
回复时他怎么总给我多个加个空格啊,第一个?号后面没有空格的。
红皮猴 2009-10-13
  • 打赏
  • 举报
回复
能不能不用循环,一次就替换完毕。偶的字符串数量太多
十八道胡同 2009-10-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
class Test
{
static void Main()
{
string str = @"ccccc <br>p <br>pccc <br>p <br>p", str1 = str;
while ((str1 = Regex.Replace(str, @"\s*<br>p\s*$", "")).Length != str.Length)
str = str1;
Console.WriteLine(str1);
}
}
}

这个方法很罗嗦,等好的办法。
红皮猴 2009-10-13
  • 打赏
  • 举报
回复
不行只能匹配出一个。
红色是我拷贝的时候弄上去的。
fhjzgsy 2009-10-13
  • 打赏
  • 举报
回复
命名空间using System.Text.RegularExpressions;
protected void Button1_Click(object sender, EventArgs e)
{
string str1 = "asdadasd <br>p <br>p <br>p <br>p";
string pattern = "<br>p";

string[] str2 =Split(str1, pattern);
foreach (string i in str2)
Response.Write(i.ToString());

}
public static string[] Split(string input,string pattern)
{
string[] arr = System.Text.RegularExpressions.Regex.Split(input,pattern);
return arr;
}
SK_Aqi 2009-10-13
  • 打赏
  • 举报
回复
顶了
goodbetter_4107607 2009-10-13
  • 打赏
  • 举报
回复
更正
str = Regex.Replace(str , @"( *<br>p *)*$", "", RegexOptions.IgnoreCase);
goodbetter_4107607 2009-10-13
  • 打赏
  • 举报
回复
string str = @"asdadasd <br>p <br>p <br>p <br>p ";
str = Regex.Replace(str , @"( *<br>p *)*$", "", RegexOptions.IgnoreCase);
楼主试试
十八道胡同 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huigy 的回复:]
如何把字符串末尾的 <br>p用正则去除(其它位置的保留)如下面4段字符串:
a <br>p sdadasd <br>p <br>p <br>p <br>p
b <br>p bbbb <br>p bbb <br>p <br>p
ccccc <br>p <br>pccc <br>p <br>p
dddd <br>p dddd <br>p <br>p <br>p <br>p
替换后
a <br>p sdadasd
b <br>p bbbb
ccccc <br>p <br>pccc <br>p <br>p
dddd <br>p dddd
[/Quote]
红色部分?
红皮猴 2009-10-13
  • 打赏
  • 举报
回复
如何把字符串末尾的 <br>p用正则去除(其它位置的保留)如下面4段字符串:
a<br>p sdadasd <br>p <br>p <br>p <br>p
b<br>p bbbb<br>p bbb <br>p <br>p
ccccc<br>p<br>pccc <br>p <br>p
dddd<br>p dddd <br>p <br>p <br>p <br>p
替换后
a<br>p sdadasd
b<br>p bbbb
ccccc<br>p<br>pccc <br>p <br>p
dddd<br>p dddd
JSValidation是强大灵活的客户端验证框架。在应用服务器或者开发框架不提供验证的情况下,例如,普通的JSP, ASP, PHP等开发,以及一些不提供验证支持的开发框架,如Tapestry, Velocity等,JSValidation提供了一种灵活的解决方案。与其他验证方式相比,它最大的优点在于独立与易于集成。纯JavaScript结构,可以很容易的集成到现有的应用中而不论现有的应用是基于什么语言。将所有的表单验证集中管理,使得维护应用更加容易。简便的XML配置,易于扩充的验证方式(目前支持13种验证,囊括了大部分常用表单验证),使得JSValidation成为验证框架的首选。
1. JSValidation是什么?
如首页所说,JSValidation是客户端表单验证框架,用在BS系统中,或者简单的网页系统中。表单验证在这些开发中很常见:新用户注册,需要校验某些字段;用户登陆,需要校验;等等。在这之前,页面开发者(JavaScript开发者)需要编写大量的JavaScript来与表单对象交互,并进行校验。常见的校验如不能为空,必须满足长度要求,必须为数字,必须为Email等等。根据一般的经验,如果表单中需要校验的域个数超过10个,开发过程就显得枯燥无味——多段重复的代码不断重复,如果要求跨浏览器,更多的考虑因素使人头疼不已。往往这个页面的验证还不能用于那个验证……虽然逻辑基本相同;但是在大多数情况下,出于种种原因,开发者宁愿(或者没办法)重新编写另一个页面的JavaScript代码。

JSValidation致力于改善这一过程。它将常见的校验(目前支持13种)封装起来,并创造性的采用xml来存贮表单验证信息,使得表单的验证成为整个项目中最不重要的环节,开发者只需要定义几个xml标记,就可以创建出复杂的验证策略,而不用编写一行JavaScript代码。由于采用xml集中管理表单验证,使得表单验证在整个系统中的耦合度大大降低,并且易维护性大大提高。开发者更多的精力可以投入到业务相关的代码中。

恰恰相反,JSValidation内部结构虽然不太简单(对用户而言),但是调用方式却极其简单,配置好环境后,只需要在需要验证的表单的HTML标记中加上onsubmit="return doValidate('formId')"即可。这并没有改变开发者的习惯。

更为明显的优势是,JSValidation具备跨浏览器的能力。在目前的测试环境下,支持IE5及以上版本,Mozilla系列和支持DOM2模型的其他浏览器。你不用再考虑在多浏览器下如何兼容,JSValidation帮你做到了这些。

2. JSValidation能做什么,不能做什么?
如上所述,JSValidation能够校验表单。在系统复杂,表单复杂的场景下,JSValidation的优势更加突出。JSValidation目前能够完成客户端的13种验证如下:

取值非空
必须为整数
必须为双精度数
必须为普通英文字符(字母,数字,下划线)
必须为中文字符
最小长度
最大长度
是否为Email格式
是否为日期格式(yyyy-mm-dd)
自定义的正则表达式
整数范围(大于某数小于某数)
双精度数范围
必须与某个域的值相同
所有这些验证都在客户端完成。如果还有在此之外的验证需求,告诉我们,我们会跟据需求程度开发出新的验证模型。

JSValidation不能做的:

跨页面的验证。例如,A页面输入值,必须满足B页面中某一个值的条件,或者更多的页面。这个需求需要用户的反馈。如果在现实开发中这种需求很普遍,我们会考虑开发。目前的替代方式是,将A页面需要验证的值POST到B页面的一个Hidden Field,然后再使用已有的验证方式。
与服务器交互验证。最常见的是输入用户名密码后登录。限于它的表示范围,JSValidation不能完成这个工作。
其他没有提到的,很希望你能告诉我们。

大家帮忙顶,这么好的东东不能叫他沉了啊

62,243

社区成员

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

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

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

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