我有两个字符串
http://dfdkdlkdkldkldkldl.jpg (it is image src which is staring with http and ending with image)
http://fflffllkfl
现在我只想在那些有图像的网址上用一些文本替换http://
我尝试过的(http(s?):)|([/|.|\w|\s])*.(:jpg|gif|png)
它替换了两个字符串的http。
任何机构都可以提供帮助
谢谢
最佳答案
这是一个有效的正则表达式:
(https?:)\/\/.*(jpg|gif|png)
这只会匹配“图片”网址。您可以在这里在线试用它:http://regex101.com/
编辑 基本上,您的正则表达式不仅无效,而且太复杂。您在“https”上有一个“s”的子组,根据您提出的问题,这是不需要的。另外,您有 OR 操作数试图将 http 部分和 url 的其余部分分开,这没有任何意义...最后,您将文本分组在“:”和点“.”之间,这又是根据根据您的问题描述,不需要。
希望有帮助
编辑2
好吧,所以我不知道替换是如何完成的,您没有使用代码,而是使用了一个页面,但您应该这样做:
"http://dfdkdlkdkldkldkldl.jpg".replace(/(https?:)(\/\/.*)(jpg|gif|png)/, "lalala$2$3")
请注意,正则表达式更改为:(https?:)(\/\/.*)(jpg|gif|png)
如果您尝试使用其他网址:"http://fffffllkfl".replace(/(https?:)(\/\/.*)(jpg|gif|png)/, "lala $2$3")
它不会取代任何东西。
关于javascript - JavaScript 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27126445/