Browse Source

Get-NameRegex: Publish NameRegex v0.1.0

* 發佈 0.1.0
* 使用 RegEx TAG 進行比對,將結果以 TAG 為 Key 值,回傳 Hash 物件
* 以比對到的 TAG 為錨點,對字串進行分割並放入 Hash,以便後續比對
* -Regex: 可以 Array 傳入多個比對式,回傳適當結果
* -Exclude: 對比到的結果進行排除,直到比對不成功
* -End: 結尾模式,僅輸出符合 TAG 的 Hash 物件
feature/NameRegex
pcnick 3 years ago
parent
commit
41f3899754
  1. BIN
      NameRegex.psd1
  2. 32
      NameRegex.psm1

BIN
NameRegex.psd1

Binary file not shown.

32
NameRegex.psm1

@ -47,32 +47,6 @@
$Regex | % { @{ Target = $Str; Regex = $_; } } | &$InnerScrip $Regex | % { @{ Target = $Str; Regex = $_; } } | &$InnerScrip
} }
$Pathes = @( # Example
"L:\Anime\201110 WORKING’!!\[#CHAT RUMBLE#][WORKING’!!][01-13 END][BIG5][x264_aac][1280x720]\[#CHAT RUMBLE#][WORKING’!!][13][BIG5][x264_aac][1280x720][11C6E807].mp4" # $RS1 | % { Get-NameRegex $_["L"] -Regex $NameRegex -Exclude "(BD|DVD|HDTV)RIP" -End }
"L:\Anime\200910 にゃんこい!(貓願三角戀)\[DMG][Nyan Koi!][01-12 END][848x480][BIG5]\[DMG][Nyan Koi!][12 end][848x480][BIG5].rmvb" # $TestName | % { Get-NameRegex $_ -Regex $Regex } | % { $(Get-NameRegex $_["L"] -Regex $NameRegex -Exclude "(BD|DVD|HDTV)RIP" -End) + $_ }
"L:\Anime\200910 聖剣の刀鍛冶(聖劍鍛造師)\[DMG][The Sacred Blacksmith][01-12 END][848x480][BIG5]\[DMG][The Sacred Blacksmith][04V2][848x480][BIG5].rmvb"
"L:\Anime\201104 星空へ架かる橋(架向星空之橋)\[AngelSub][Hoshizora e Kakaru Hashi][BDRip][Vol.01][1920x1080][TW_BIG5][x264_FLAC]\[AngelSub][Hoshizora e Kakaru Hashi][BDRip][01][1920x1080][BIG5][x264_FLAC].mkv"
"H:\Anime\201901 盾の勇者の成り上がり\[LKSUB][Tate no Yuusha no Nariagari][01-25][GB][720P][MP4]\[LKSUB][Tate no Yuusha no Nariagari][01][GB][720P].mp4"
"L:\Anime\202004 ストライク・ザ・ブラッド OVA IV\[Suzu-Kaze][Strike_the_Blood_IV_OVA][01-12FIN][BDRip_1080P][HEVC_YUV420P10]\[Suzu-Kaze] Strike the Blood IV 12FIN [BDRip 1920x1080 HEVC YUV420P10 FLAC].mkv"
"L:\Anime\200910 アスラクライン II(機巧魔神)\[DMG][Asura Cryin2][01-13 END][848x480][BIG5][RMVB]\[DMG][Asura Cryin 2][01][848x480][Big5].rmvb"
"H:\Data\Downloads\異世界食堂\[Lilith-Raws] Isekai Shokudou S02 - 06 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4].mp4"
)
$TestName = @($Pathes | % {$_.Split("\\")[-1]})
$Str = $TestName[3]
$Regex = @(
"S\d{2}[\s\-]+E?(?<Episode>\d{2})"
"[\[\b\s](?<Episode>\d{2})[\s_]?(?:[vV]\d|END|FIN)[\]\b\s]"
"\[(?<Episode>\d{1,2})\]"
#"\d"
)
$RS1 = $TestName | % { Get-NameRegex $_ -Regex $Regex }
$RS1
$NameRegex = @(
"[\[\b\s](?<Name>[^\[\]]*)[\]\b\s]?$"
)
$RS1 | % { Get-NameRegex $_["L"] -Regex $NameRegex -Exclude "(BD|DVD|HDTV)RIP" -End }
$TestName | % { Get-NameRegex $_ -Regex $Regex } | % { $(Get-NameRegex $_["L"] -Regex $NameRegex -Exclude "(BD|DVD|HDTV)RIP" -End) + $_ }
Loading…
Cancel
Save