【问题标题】:Exclude file extensions regular expression排除文件扩展名正则表达式
【发布时间】:2013-11-01 17:14:02
【问题描述】:

我有一个用 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,}|рф)+)

...但它不起作用。

谁能帮帮我?

【问题讨论】:

    标签: regex vbscript


    【解决方案1】:

    在正则表达式中,方括号表示匹配“其中的任何字符”。因此,例如,正则表达式 [^exe|EXE|xml]{2,} 匹配任何两个不在 [exEXml] 中的字符。

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

    附带说明一下,VBScript 完全支持负前瞻,不支持负前瞻(一种更加复杂和密集的行为)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-21
      • 2010-09-19
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      相关资源
      最近更新 更多