我想从文件名列表中提取国家/地区。这些国家/地区可以出现多次,以逗号和空格分隔。
我的正则表达式(在 Powershell 7 中使用):
$regex = "^[^\(]* \(([\b(USA|Japan|Europe|Germany|Canada)\b,\s]*)\).*$"
if ($name -match $regex) {
#...
}
(国家名单已缩短)
示例数据:
3-D Genesis (USA) (Proto)
Wallaby!! - Usagi no Kuni no Kangaroo Race (Japan) (Wii U Virtual Console)
UWOL - Quest for Money (World) (v1.1) (Aftermarket) (Unl)
Super Star Soldier (USA, Europe) (Wii U Virtual Console)
Soldier Blade (USA, Europe) (Wii U Virtual Console)
Mein Weg (USA, Germany) (En)
Challenge (Canada)
但是Powershell似乎忽略了单词边界?
Name Value
---- -----
1 USA) (Proto
0 3-D Genesis (USA) (Proto)
更奇怪的是,考虑到上面的示例数据,Regexr 匹配第一个示例,但似乎不理解“mein weg”示例中的行尾,并匹配以下行