朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
PowerShell htmlファイルやxmlファイルからタグ情報を抜き出すスクリプト





タグと属性を指定してhtmlファイルやxmlファイルから正規表現で抽出するスクリプトです。
タグは一つだけ指定ができて、属性は好きな数だけ指定できます。
タグ名とその属性が一致するものだけが抽出されます。
大文字と小文字は関係なく抽出されます。

Param([string] $path, [string] $tag, [array] $attr)
#タグの部分を抽出する正規表現
[string] $regString = "<" + $tag + "\s*[^>`"]*"
#属性の部分を抽出する正規表現
if( $attr.Count -gt 0) {
	For($i = 0; $i -lt $attr.Count; $i++) {
		if($i -eq 0) {
			$regString += "(" + $attr[$i] + "\s*=`"[^`"]+`""
		} else {
			$regString += "|" + $attr[$i] + "\s*=`"[^`"]+`""
		}
	}
	$regString += "|[^>]+)+"
}
$regString += ">"
#$path
#$regString
#正規表現の実行
$result = [regex]::Matches((Get-Content $path), $regString, "IgnoreCase") 
$result.Value

実行例は次のような感じです。

            .\ExtractTag.ps1 .\readmeForFavoriteLinkChecker.html div class,id,name
    








良いやや良い普通やや悪い悪い
0 0 0 0 1

投稿日時評価コメント