其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

正则表达式问题(碰到网址就替换)

GG网络技术分享 2025-03-18 16:15 1


问题描述:

 假如有字符串var s = \"skd收快递费上课kdhttp://www.baidu.com ksjf可适当减肥http://www.csdn.net\";

替换为

\"skd收快递费上课kd<a href=\'http://www.baidu.com\'>网页链接</a> ksjf可适当减肥<a href=\"http://www.csdn.net\">网页链接</a>\"

注意的是:有可能是https打头或者是其他打头,只要是网址就换成如上格式,求解!坐等!

网友观点:

    

var s = \\\"skd收快递费上课kdhttp://www.baidu.com ksjf可适当减肥http://www.csdn.net\\\";

s = s.replace(/((http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#]))/g, \'<a href=\\\"$1\\\">网页链接</a>\');

alert(s)

var s = \\\"skd收快递费上课kdhttp://www.baidu.com ksjf可适当减肥http://www.csdn.net\\\";

document.write(str.replace(/[http,https][://www.][a-zA-Z0-9.]+[com,cn,net]/g, \\\"网页链接\\\"))

网页内容使用正则表达式匹配问题?

匹配单个标签可以有这样一个公式:

<标签名称 [^>]* class或id="[^"]+" [^>]*> [^<]+ </标签名称>

其中用[^>]*匹配除了class或id以外的各种属性。

然后用[^<]+匹配标签之间的内容。

那么,题主第一个标签可以写为:

<span[^>]*class="tbBottomLine"[^>]*>[^<]+</span>

由于后面两个标签类名称中有空格,或者要匹配有多个类名称,就改为:

<span[^>]*class="tbBottomLine[^"]*"[^>]*>[^<]+</span>

然后在需要捕获的内容两边加上括号即可:

<span[^>]*class="tbBottomLine[^"]*"[^>]*>([^<]+)</span>

测试一下:

标签:

提交需求或反馈

Demand feedback