Regex 排除文件扩展名正则表达式

Regex 排除文件扩展名正则表达式,regex,vbscript,Regex,Vbscript,我有一个用VBScript编写的URL检查正则表达式 regLinkEx.Pattern = "(^|[\s>='])((((http|ftp|https):\/\/)?([а-яёa-z\-_]{1,})(\.[а-яёa-z\-_]{2,})*(\.([^exe|EXE|xml|XML|dll|DLL|ini|INI|bat|BAT|dat|DAT|bin|BIN|mif|MIF|txt|TXT|]){2,}|рф)+)([\w\-\.,@?^=%&:/~\+#]*[\

我有一个用VBScript编写的URL检查正则表达式

regLinkEx.Pattern = "(^|[\s>='])((((http|ftp|https):\/\/)?([а-яёa-z\-_]{1,})(\.[а-яёa-z\-_]{2,})*(\.([^exe|EXE|xml|XML|dll|DLL|ini|INI|bat|BAT|dat|DAT|bin|BIN|mif|MIF|txt|TXT|]){2,}|рф)+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)"
我排除了我需要的文件扩展名,但我还希望匹配从a到z的字母 这是我想要的部分,我正试着这样做

(\.[a-z]*([^exe|EXE|xml|XML|dll|DLL|ini|INI|bat|BAT|dat|DAT|bin|BIN|mif|MIF|txt|TXT|]){2,}|рф)+)
…但它不起作用


有人能帮我吗?

在正则表达式中,方括号表示与“中的任何字符”匹配。例如,正则表达式
[^exe | exe | xml]{2,}
匹配[exexxml]中没有的任何两个字符

如果要排除某些文件扩展名,请使用。由于负lookahead的长度为零,因此可以将它们串在一起创建类似“X后跟以下任何一项:EXE、XML、DLL”的行为(用于此操作的正则表达式为
X(?!EXE)(?!XML)(?!DLL)

顺便说一句,VBScript完全支持负前瞻,不支持负前瞻(一种非常复杂和密集的行为)