javascript中的正则表达式

时间:2014-11-25 12:12:56

标签: javascript

我有两个字符串

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。

任何机构都可以提供帮助

谢谢

2 个答案:

答案 0 :(得分:1)

这是一个有效的正则表达式:

(https?:)\/\/.*(jpg|gif|png)

这只会匹配"图像"网址。你可以在网上玩这个:http://regex101.com/

修改 基本上,你的正则表达式不仅无效,而且过于复杂。你有一个子组,用于" s" on" https",根据您提出的问题,这不是必需的。此外,你有OR操作数试图分离http部分和网址的其余部分,这没有任何意义......最后,你正在将文本分组到":"和点"。",再次,根据你的问题描述,它是不需要的。

希望有所帮助

修改2

好的,所以我不知道更换的确切方式,你没有使用你的代码,你正在使用一个页面,但这是你应该怎么做它:

"http://dfdkdlkdkldkldkldl.jpg".replace(/(https?:)(\/\/.*)(jpg|gif|png)/, "lalala$2$3")

请注意,RegEx已更改为:(https?:)(\/\/.*)(jpg|gif|png)

如果您尝试使用其他网址:"http://fflffllkfl".replace(/(https?:)(\/\/.*)(jpg|gif|png)/, "lala$2$3"),则无法替换任何内容。

答案 1 :(得分:1)

试试这个:

myString.replace(/(https?:\/\/)(.*\.jpg|gif|png)/, "some string $2");