我想匹配不再<>中间的字符串比如我想匹配aaa<a id="aaa">aaa</a>我只想匹配到<a></a>中间的aaa,而id="aaa" 这个aaa是不能匹配的用正则怎么作呢,谢谢
解决方案 »
- vs2008调试突然丢失时什么情况?
- ASP.NET MVC 框架是 .NET 平台 Web 开发的主流,但是并不适合初学者
- |ZYCWPF| 今天看多线程的,但是对volatile这个关键字不理解,怎么感觉用static不是也是一样的效果吗?
- 寻求帮助:如果隐藏滚动条实现滚动!
- 请教一个问题,postmessage给后台窗体发送消息,已经成功,可以在小画家画图
- 急求“数据库失去连接问题”的解决方法
- 2.0中一个下拉框简单的问题
- combox控件的问题,怎样实现控件下拉列表框的宽度自适应文本的宽度?
- 怎样让 MDI 子窗口打开时的位置固定?而不是每次打开它,都自动向右下移动?
- 小问题,我没搞明白
- treeview选择check更改事件
- C# 基础问题:一个方法里面有一个while的循环,它的条件表达式里面只有一个true,这应该如何理解啊?这个true是指什么为真啊!
我只要是<>这样tag中间的我都不要匹配
谢谢c#中如何用Regex.ismatch去做?
为啥还是返回true?
应该是false
Regex.IsMatch("<a href=\"aaa\">aaa</a>", @"^<(.*)>(aaa)<\/\1>$", RegexOptions.IgnoreCase);怎么也返回false???
test = Regex.Replace(test, @"<[^>]*>", " ");
if (test.IndexOf("aaa") > -1)
MessageBox.Show("找到");
else
MessageBox.Show("未找到");或者是用委托来处理也可以
可以的,你复制过去要把csdn设置的空格去掉就可以了
//try<[a-z]+[^>]*>(?<text>[^<].*)</[a-z\d]+>
string S = @"<br>a<b>aab<body>c</body>";
S = System.Text.RegularExpressions.Regex.Replace(
S, @"<[^>]*?>", "");
Text = S;
Regex.IsMatch("<a href=\"aaa\">aaa</a>", @"^<([^\s]+)[^>]*>(aaa)<\/\1>$", RegexOptions.IgnoreCase);
这样肯定没问题,之前是我没看到你还有 href 属性.
<p>aa<a href=\"ababa\">abaab</a></p>
比如说关键字为“aaa”,按你的需求应该返回false的,但是如果<...>替换为空,替换后为aaabaab,那么结果就是true了
我是把它替换为空格了,但是如果关键字中有空格,同样是个问题,或者是替换为特殊符号,不过也不太严谨,只是看你的需求了,如果关键字中不存在空格,用我上面的方法就可以了用正则的另一种方法就是委托
//进行判断的事件里写如下代码
string test = "<a href=\"ababa\"> baaab </a>";
test = Regex.Replace(test, @"^[^<]*(?=<)|(?<=>)[^<>]*(?=<|$)|^[^<>]*$", myEvaluator);
MessageBox.Show(check.ToString());//全局变量
bool check = false;
//委托
private string myEvaluator(Match m)
{
//这里的text就是页面上显示的内容了,只不过并不是一次得到所有显示内容,而是多次得到的
string text = m.Value;
//这是关键字并不局限于“aaa”,只是一个例子,多个关键字也在这里处理
if (text.IndexOf("aaa") > -1)
check = true;
return "";
}
当然,上面说的只是正则的处理方法,不用正则也可以做到,只是代码写起来要繁琐得多