Regex 正则表达式:匹配除以控制组结尾的字符串以外的所有内容
我正在抓取一些网站,我想放弃对基于正则表达式的常见img文件的调用。正则表达式函数应该是 匹配除以.jpg、.png、.gif结尾的URL字符串以外的所有内容 示例: www.example.com/test.jpg www.example.com/test2.png 我试过这么做Regex 正则表达式:匹配除以控制组结尾的字符串以外的所有内容,regex,Regex,我正在抓取一些网站,我想放弃对基于正则表达式的常见img文件的调用。正则表达式函数应该是 匹配除以.jpg、.png、.gif结尾的URL字符串以外的所有内容 示例: www.example.com/test.jpg www.example.com/test2.png 我试过这么做 .*(?:(?!\.(jpg|png|gif)))$ 但是没有任何成功你试图构建的正确的负面展望是 (?!.*\.(?:jpg|png|gif)$) 如果字符串以jpg、png或gif结尾,则它将拒绝该字符串,并
.*(?:(?!\.(jpg|png|gif)))$
但是没有任何成功你试图构建的正确的负面展望是
(?!.*\.(?:jpg|png|gif)$)
如果字符串以jpg、png或gif结尾,则它将拒绝该字符串,并且您需要使用的全部正则表达式是:
^(?!.*\.(?:jpg|png|gif)$).+$
还有,正则表达式的问题。*?:?!\。jpg | png | gif$is,.*将贪婪地消耗所有内容,不会在前面留下任何字符,因此您的负前瞻性将始终满足true,因为在这之后将不会留下任何字符,在这些字符的基础上,负前瞻性可以拒绝您的字符串。因此,您需要在负片中移动。*以检查.jpg或.png或.gif之前的任何其他字符是否允许为零或更多