You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.2 KiB
44 lines
2.2 KiB
3 years ago
|
function Get-NameRegex {
|
||
|
param(
|
||
|
$Str,
|
||
|
$Regex
|
||
|
)
|
||
|
# Regex 可輸入複數個
|
||
|
Write-Host $Str
|
||
|
$Regex | % {
|
||
|
$key = if ($_ -match "\(\?\<(.*?)\>") { $Matches[1] }
|
||
|
if (-not($key)) { Write-Error "$_ 沒有定義(?<TAG>)" }
|
||
|
if ($Str -match $_ -and($key)) {
|
||
|
$Result = @{
|
||
|
$key = $Matches[$key]
|
||
|
anchor = $Matches[0]
|
||
|
}
|
||
|
$LR = $Str -split $Result["anchor"]
|
||
|
$Result.Add("L", $LR[0])
|
||
|
$Result.Add("R", $LR[1])
|
||
|
$Result
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$Pathes = @(
|
||
|
"L:\Anime\201110 WORKING’!!\[#CHAT RUMBLE#][WORKING’!!][01-13 END][BIG5][x264_aac][1280x720]\[#CHAT RUMBLE#][WORKING’!!][13][BIG5][x264_aac][1280x720][11C6E807].mp4"
|
||
|
"L:\Anime\200910 にゃんこい!(貓願三角戀)\[DMG][Nyan Koi!][01-12 END][848x480][BIG5]\[DMG][Nyan Koi!][12 end][848x480][BIG5].rmvb"
|
||
|
"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[0]
|
||
|
$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"
|
||
|
)
|
||
|
|
||
|
$TestName | % { Get-NameRegex $_ -Regex $Regex }
|