gpt4 book ai didi

javascript - 正则表达式替换为不以字符串结尾的捕获

转载 作者:行者123 更新时间:2023-11-30 15:19:55 25 4
gpt4 key购买 nike

我需要一些帮助

我的模式看起来像

/°>(http|\/)([^|<]+?)(?!\.gif|\.jpg|\.mp|\.png|\.jpeg)<°/gi

我有 4 个例子来说明我要实现的目标:

°>/w NICK<°     

$1 ->/
$2 -> w 尼克

°>http://google.de<°

$1 HTTP$2 ://google.de

°>/w NICK|/w NICK<°

因为|没有匹配

°>http://google.de/img.png<°

没有匹配,因为以 .png 结尾

现在我完全一无所知....我得到了前 3 个示例的正则表达式,但无法获得以 img 扩展结尾的前瞻在 C# 中,我可以正常工作,但不适用于 JavaScript

最佳答案

使用

°>(http|\/)(?![^|<]*\.(?:gif|jpe?g|mp|png)<)([^|<]+)<°

参见 regex demo

详细信息:

  • °> - 文字子串
  • (http|\/) - 第 1 组:http/
  • (?![^|<]*\.(?:gif|jpe?g|mp|png)<) - 如果在 http 之后立即进行匹配失败的否定前瞻或 / , 除 | 外还有 0+ 个字符和 <后跟在非捕获组中指定的一些扩展名,后跟 <
  • ([^|<]+) - 第 2 组匹配除 | 以外的 1 个或多个字符和 <
  • - 文字子串。

关于javascript - 正则表达式替换为不以字符串结尾的捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com