嗨,我是regex的新手,所以有人可以帮助我吗?我想删除Windows文件名中的所有非法字符。这是我使用的正则表达式
(/[^a-zA-Z ')' 0-9\\-]+/g,'')")
问题是它没有摆脱括号。例如,原始文件名是
[Yuubin Basha (Akizuki Ryou)] Cheap Thrill (Final Fantasy VII) [English] [Dragonfly]
并将其重命名为
Yuubin Basha Akizuki Ryou) Cheap Thrill Final Fantasy VII) English Dragonfly
它不会删除所有括号。任何人都可以帮我修复我的正则表达式吗?
答案 0 :(得分:4)
Windows上的文件名可以包含除U + 0000到U + 001F和:?*"\/<>|
之外的所有Unicode字符。所以你可以使用
[\x00-\x1f:?\\/*"<>|]
但也有其他考虑因素,例如:文件名不能以空格结尾。
答案 1 :(得分:1)
/[^a-zA-Z\\)\\(\\]\\[0-9\\-\s]+/g
正则表达式应该与您的情况相似
答案 2 :(得分:0)
查看(/[^a-zA-Z ')' 0-9\\-]+/g,''\)")