javascript - JavaScript 中的正则表达式

标签 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。

任何机构都可以提供帮助

谢谢

最佳答案

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

(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/

相关文章:

javascript - 如何在不可见的 Angular js中应用过滤器?

javascript - css 动画文本不起作用

javascript - 如何在不使用 JQuery 的情况下禁用整个 Div 内容

javascript - 无法清除输入类型=javascript jquery中的文件

javascript - YayraBox 数据表 JavaScript CDN 与 Laravel 冲突

javascript - IE11中好像有Ajax调用被缓存,如何强制每次调用?

javascript - Sequelize插入多对多连接表

javascript - react-dom 爆出 webpack 包的大小

javascript - 在 javascript 中检测 SNI(服务器名称指示)浏览器支持

javascript - 将获取的数据存储在父组件中,标准的 React 实践是什么?