必须编写符合以下内容的正则表达式:
<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文件中的这个子字符串需要替换为另一个字符串。谢谢!
答案 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。