0

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

这就是我尝试使用正则表达式的方法。但它给了我解析错误说太多......请帮助。谢谢

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

1 回答 1

1

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

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

试试这个:

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

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

于 2012-12-01T00:49:55.203 回答