删除所有非法字符

时间:2012-08-31 09:05:05

标签: regex

嗨,我是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

它不会删除所有括号。任何人都可以帮我修复我的正则表达式吗?

3 个答案:

答案 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,''\)")