我想编写一个自定义正则表达式,格式类似于class="r"><a href="http://www.hihostels.com/"
where
1.class="r"><a href="
固定
2.http://www.hihostels.com/
可变
3."
固定
我建议您使用 HTMLAgilityPack http://htmlagilitypack.codeplex.com/之类的 HTML 解析引擎。这些解析工具往往有一个相当陡峭的学习曲线,所以如果你正在寻找快速简单的东西,但可能会被边缘情况绊倒,那么请考虑以下通用正则表达式的 powershell 示例:
$Matches = @()
$String = '<div class="r"><a href="http://www.hihostels.com/" class="RememberToVote">click me</a></div'
([regex]'class="r"><a href="([^"]*)"').matches($String) | foreach {
write-host "at $($_.Groups[1].Index) = '$($_.Groups[1].Value)'"
} # next match
产量
at 24 = 'http://www.hihostels.com/'
这通过假设你总是有字符串class="r"><a href="
后面跟着你要捕获的字符串来工作,在这种情况下,你正在寻找所有非双引号字符[^"]*
,直到它达到双引号。