Regex 用于匹配除数字和定义字以外的任何字符的正则表达式

Regex 用于匹配除数字和定义字以外的任何字符的正则表达式,regex,regex-negation,regex-lookarounds,regex-group,regex-greedy,Regex,Regex Negation,Regex Lookarounds,Regex Group,Regex Greedy,我正在尝试使用支持regex的高级重命名器批量重命名我的文件 我想匹配所有字符以排除这些字符,并创建一个新的文件名,但要保留剧集数量和特定的单词,以区分常规剧集,例如OVAs 我尝试了\D[^OVA]和其他类似的方法,但没有任何效果: 猎人x猎人02=02 猎人x猎人卵形08=卵形08 猎人x猎人奥娃贪婪岛决赛01=奥娃岛01 我猜您希望排除OVA和所有数字。然后,可以帮助您这样做或设计一个: ([^OVA0-9]+)* 图表 此图显示了表达式的工作方式,您可以通过以下方式可视化其他表达式:

我正在尝试使用支持
regex
的高级重命名器批量重命名我的文件

我想匹配所有字符以排除这些字符,并创建一个新的文件名,但要保留剧集数量和特定的单词,以区分常规剧集,例如OVAs

我尝试了
\D[^OVA]
和其他类似的方法,但没有任何效果:

猎人x猎人02=02

猎人x猎人卵形08=卵形08

猎人x猎人奥娃贪婪岛决赛01=奥娃岛01


我猜您希望排除OVA和所有数字。然后,可以帮助您这样做或设计一个:

([^OVA0-9]+)*

图表 此图显示了表达式的工作方式,您可以通过以下方式可视化其他表达式:


如果您希望添加要排除的单词列表,可以这样做:

([\S\s]*?)([0-9]+|OVA|Any|Thing|Else|That|You|Like)
您可以添加您可能希望使用|排除的任何其他单词

正则描述图

JavaScript测试
const regex=/([\S\S]*?)([0-9]+|OVA | Any | Thing | Else | That | Like)/gm;
const str=`Hunter x Hunter VOA贪婪岛决赛01=OVA岛01`;
让m;
while((m=regex.exec(str))!==null){
//这是避免具有零宽度匹配的无限循环所必需的
if(m.index==regex.lastIndex){
regex.lastIndex++;
}
//可以通过'm`-变量访问结果。
m、 forEach((匹配,组索引)=>{
log(`Found match,group${groupIndex}:${match}`);
});

}
您需要使用负向前看来与单词不匹配。您的输入文件名和要将其更改为什么还不太清楚。能否指定当前的文件名以及重命名后的文件名?还有,您是如何执行regex操作的。我想你必须替换而不是匹配。实际名称:猎人X Hunter OVA贪婪岛最终01名:OVA岛01Enter艾玛,但是在你的代码ReGEX中考虑O V A像单个字符,我想把它看作是一个词,因为如果在表达式中有一个字符O,例如,我希望这个O不被排除。对不起,我的英语。这个代码-([\S\S]*?)([0-9]+|OVA | Any | Thing | Else | That | You | Like)-选择所有字符,但不是删除我选择的单词以外的所有内容,而是在应用程序中更改为删除所有内容并替换为组2,效果非常好!非常感谢你的帮助。