Javascript 分别解析图像URL和其他URL
我有一个javascript函数,它将接收大量用户输入,并用HTML图像替换所有图像URL,用HTML链接替换所有其他URL。唯一的问题是,我的解决方案很难看P 以下是我目前的策略: 使用正则表达式首先用位置标记替换文本中的所有图像URL,如“#IMG[1]IMG#”,然后图像的URL存储在数组中,以便以后可以替换 然后,用正则表达式替换普通URL。之后,图像占位符将替换为相应的图像标记 这是可行的,但真的很混乱。如果只替换两个正则表达式字符串就好了,但是当普通URL替换为链接时,图像URL就会被破坏 任何能更优雅地解决这一问题的战略构想都将不胜感激。当然,如果我可以得到一个正则表达式,它可以在不获取图像URL的情况下查找所有URL,这也可以解决我的问题。以下是我当前用于查找URL的正则表达式:Javascript 分别解析图像URL和其他URL,javascript,regex,string,parsing,Javascript,Regex,String,Parsing,我有一个javascript函数,它将接收大量用户输入,并用HTML图像替换所有图像URL,用HTML链接替换所有其他URL。唯一的问题是,我的解决方案很难看P 以下是我目前的策略: 使用正则表达式首先用位置标记替换文本中的所有图像URL,如“#IMG[1]IMG#”,然后图像的URL存储在数组中,以便以后可以替换 然后,用正则表达式替换普通URL。之后,图像占位符将替换为相应的图像标记 这是可行的,但真的很混乱。如果只替换两个正则表达式字符串就好了,但是当普通URL替换为链接时,图像URL就会
/((https?:\/\/[^\s'"]+)|([^\s'"]*www[^\s'"]+\.[^\s'"]{2,})|([^\s'"]+\.(com|net|org|jp|gov)[^\s'"]*))/g
你可以这样做:
((https?:\/\/[^\s'"]+)|([^\s'"]*www[^\s'"]+\.[^\s'"]{2,})|([^\s'"]+\.(com|net|org|jp|gov)[^\s'"]*))(?<!jpg)(?<!png)(?=\s|$|'|")
((https?:\/\/[^\s'”)+([^\s'”*www[^\s'”+\[^\s'”){2,})([^\s'”)+\([^\s'”)([^\s'”)(?文本是HTML还是纯文本图像URL?原始文本只是纯文本-不应包含任何HTML。