0

嗨,我是正则表达式的新手,所以有人可以帮助我吗?我想删除 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

它不会删除所有括号。谁能帮我修复我的正则表达式?

4

3 回答 3

4

Windows 上的文件名可以包含除 U+0000 到 U+001F 和:?*"\/<>|. 所以你可以使用

[\x00-\x1f:?\\/*"<>|]

但还有其他考虑因素,例如文件名不能以空格结尾。

于 2012-08-31T09:09:39.217 回答
1
/[^a-zA-Z\\)\\(\\]\\[0-9\\-\s]+/g

正则表达式应该看起来像你的情况

于 2012-08-31T09:09:43.117 回答
0

一探究竟(/[^a-zA-Z ')' 0-9\\-]+/g,''\)")

于 2012-08-31T09:10:07.923 回答