正则表达式为Regex类

时间:2011-12-07 22:50:52

标签: c# regex

必须编写符合以下内容的正则表达式:

<a href="../../_asp/link.asp?link=sp1234.htm 

<a href="../../_asp/link.asp?link=AL432123.htm

在“=”之后只能是“AL”或“sp”字符串,以及.htm之前的任何数字位数

会是这样的:

 Regex reg = new Regex("<a href=\"../../_asp/link.asp?link=(AL|sp)[0-9]+.htm");

对正则表达式不太了解,必须尽快写出这个。 htm文件中的这个子字符串需要替换为另一个字符串。谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

new Regex(@"<a href=""\.\./\.\./_asp/link\.asp\?link=(AL|sp)[0-9]+\.htm"); 

答案 1 :(得分:0)

首先 - 在正则表达式中,.表示任何字符。你需要用\.来逃避它。 ?也是一个特殊角色。

Regex reg = new Regex("<a href=\"(\.{2}/){2}_asp/link\.asp\?link=(AL|sp)[0-1]+\.htm");

其次,[0-1]匹配0或1.您需要[0-9]\d

Regex reg = new Regex("<a href=\"(\.{2}/){2}_asp/link\.asp\?link=(AL|sp)\d+\.htm");

但是你应该使用HTML解析器而不是正则表达式来解析HTML。