正则表达式帮助。我究竟做错了什么

时间:2012-12-01 00:44:51

标签: c# regex string string-comparison

请有人帮助我,让我知道我做错了什么? 我在C#中编写代码。 我想查找我的多行文本框值是否包含HREF或href或<a href</a><A HREF

这是我试用Regex的原因。但它给我解析错误说太多了...... 请帮忙。 感谢

Regex strMatch = new Regex(@"^(HREF|href|<a href|</a>))", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Multiline);

1 个答案:

答案 0 :(得分:1)

您的正则表达式锚定在字符串的开头,因此只有在您的字符串以四个选项之一开头时才会匹配。

此外,您还有一个额外的)导致无效的正则表达式语法。

请改为尝试:

Regex strMatch = new Regex(@"(?:<a )?href|</a>"
    ,RegexOptions.Compiled|RegexOptions.IgnoreCase);

这将匹配您的四种情况,因为前两个是相同的(感谢IgnoreCase),第一个是第三个的子字符串。

相关问题