gpt4 book ai didi

JavaScript 正则表达式 - 通过正则表达式模式将字符串拆分为数组

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

给定一个输入字段,我尝试使用正则表达式查找文本字段中的所有 URL 并使它们成为链接。但是,我希望保留所有信息。

因此,例如,我有一个输入“http://google.com 你好,这是我的内容”-> 我想用这个来自另一个堆栈溢出问题的正则表达式模式之后的空白将其拆分 (regexp =/(ftp|http |https)://(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(/|/([\w#!:.?+= &%@!-/]))?/) 这样我就得到了一个数组 [' http://google.com ','你好,这是我的内容']。

另一个例子:“你好,这是我的内容 http://yahoo.com testing testing http://google.com” -> arr of ['你好,这是我的内容',' http://yahoo.com ', '测试测试', 'http://google.com ']

如何做到这一点?非常感谢任何帮助!

最佳答案

首先将正则表达式中的所有组转换为非捕获组 ((?:...)) 然后将整个正则表达式包装在一个组中,然后使用它来拆分像这样的字符串:

var regex = /((?:ftp|http|https):\/\/(?:\w+:{0,1}\w*@)?(?:\S+)(?::[0-9]+)?(?:\/|\/(?:[\w#!:.?+=&%@!-/]))?)/;
var result = str.split(regex);

示例:

var str = "hello this is my content http://yahoo.com testing testing http://google.com";

var regex = /((?:ftp|http|https):\/\/(?:\w+:{0,1}\w*@)?(?:\S+)(?::[0-9]+)?(?:\/|\/(?:[\w#!:.?+=&%@!-/]))?)/;
var result = str.split(regex);

console.log(result);

关于JavaScript 正则表达式 - 通过正则表达式模式将字符串拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356229/

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