我想编写一个自定义正则表达式,其格式类似于class="r"><a href="http://www.hihostels.com/"
其中
1。class="r"><a href="
已修复
2. http://www.hihostels.com/
是变量
3. "
已修复
答案 0 :(得分:1)
我建议您使用像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="
后跟您要捕获的字符串来实现,在这种情况下,您正在寻找所有非双引号字符[^"]*
直到它达到双重qoute。