Javascript 匹配没有特定分隔符的URL
我试图匹配任意文本中的所有URL,没有特定的分隔符,最终在同一行中匹配多个项目:Javascript 匹配没有特定分隔符的URL,javascript,regex,Javascript,Regex,我试图匹配任意文本中的所有URL,没有特定的分隔符,最终在同一行中匹配多个项目: http://www.site.com/image1.jpg "http://www.site.com/image2.jpg" 'http://www.site.com/image1.jpg&a=1' 请不要在第一个URL后面加空格,并且终止(&a=1) 这是我的实际正则表达式:https?:\/\/.*\。?:png|jpg,它只正确匹配最后一个URL,但第一个和第二个URL作为一个结果匹配 预期结果应
http://www.site.com/image1.jpg "http://www.site.com/image2.jpg"
'http://www.site.com/image1.jpg&a=1'
请不要在第一个URL后面加空格,并且终止(&a=1)
这是我的实际正则表达式:https?:\/\/.*\。?:png|jpg,它只正确匹配最后一个URL,但第一个和第二个URL作为一个结果匹配
预期结果应该是:
http://www.site.com/image1.jpg
http://www.site.com/image2.jpg
http://www.site.com/image1.jpg
谢谢。如果它们都以.jpg结尾,那么使用这个regexp:/[a-zA-Z0-9:\/\.-]+\.jpg/很容易实现。 我添加了几个url示例来测试匹配。结果是一个匹配数组
var str = "http://www.site.com/image1.jpg \"http://www.site.com/image2.jpg\" 'http://www.site.com/image1.jpg&a=1' http://www.21d1dk1kk1.org/image.jpg http://www.21d1dk1-kk1.org/image.jpg";
var matches = str.match(/[a-zA-Z0-9:\/\.-]+\.jpg/g);
如果您需要匹配更多的jpg,您可以使用jpg | gif | png等来代替jpg,例如[a-zA-Z0-9:\/\.-]+\.jpg | gif | png/g
拥有匹配数组后,您可以通过迭代以任何方式输出它。但我想你知道怎么处理这个问题。谢谢,效果很好!修改正则表达式如下:var items=ht.match/https?:\/\/[a-zA-Z0-9:\/\.-]+\.jpg | jpeg | png | gif/gi;匹配绝对URL、多种文件类型和不区分大小写。是的,不知道您是否需要该协议:但很高兴它有用,干杯!