我必须编写一个正则表达式,它将匹配以下内容:
<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文件中的这个子字符串需要替换为另一个字符串。谢谢!
发布于 2011-12-08 06:55:40
试试这个:
new Regex(@"<a href=""\.\./\.\./_asp/link\.asp\?link=(AL|sp)[0-9]+\.htm"); 发布于 2011-12-08 06:56:20
首先,在正则表达式中,.表示任何字符。你需要用\.来避开它。?也是一个特殊字符。
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。
https://stackoverflow.com/questions/8423756
复制相似问题