匹配没有特定前缀的URL's

Match URL's which do NOT have a specific prefix

本文关键字:URL 前缀      更新时间:2023-09-26

在javascript中使用以下正则表达式匹配字符串中的图像url:

/'b(https?|ftp|file):'/'/['-A-Z0-9+&@#'/%?=~_|!:,.;]*['-A-Z0-9+&@#'/%=~_|]?('.(jpe?g|png|gif))/ig

与字符串。替换函数,我将所有匹配项包装在-标签中。

在第二步中,我想匹配所有url,其中不是以上述文件扩展名作为前缀。我的第一个意图是使用?!
/'b(https?|ftp|file):'/'/['-A-Z0-9+&@#'/%?=~_|!:,.;]*['-A-Z0-9+&@#'/%=~_|]?(?!'.(jpe?g|png|gif))/ig
不幸的是,

不起作用。尝试了这个表达式的不同变体,但现在的结果。

提前感谢您的帮助,manuel

既然你问的是javascript,我认为这样的东西可以帮助:

var url_re = "''b(https?|ftp|file):''/''/[''-A-Z0-9+&@#''/%?=~_|!:,.;]*[''-A-Z0-9+&@#''/%=~_|]?"
var re = new RegExp( "^(?!.*"+url_re+"'.(jpe?g|png|gif)).*"+url_re+"'.[a-z0-9_]+" , 'gi' )