请有人帮助我,让我知道我做错了什么?
我在C#中编写代码。
我想查找我的多行文本框值是否包含HREF或href或<a href
或</a>
或<A HREF
。
这是我试用Regex的原因。但它给我解析错误说太多了...... 请帮忙。 感谢
Regex strMatch = new Regex(@"^(HREF|href|<a href|</a>))", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Multiline);
答案 0 :(得分:1)
您的正则表达式锚定在字符串的开头,因此只有在您的字符串以四个选项之一开头时才会匹配。
此外,您还有一个额外的)
导致无效的正则表达式语法。
请改为尝试:
Regex strMatch = new Regex(@"(?:<a )?href|</a>"
,RegexOptions.Compiled|RegexOptions.IgnoreCase);
这将匹配您的四种情况,因为前两个是相同的(感谢IgnoreCase
),第一个是第三个的子字符串。