为了账号安全,请及时绑定邮箱和手机立即绑定

如题目,最好给我稍微解释下一两个正则表达式替换是怎么实现的,随便说说就行!谢谢

如题目,最好给我稍微解释下一两个正则表达式替换是怎么实现的,随便说说就行!谢谢

慕森王 2022-07-14 18:11:38
<%Public Function Ubbcode(strcontent)dim reSet re=new RegExpre.IgnoreCase =truere.Global=True'strcontent=Replace(strcontent,"file:","file :")'strcontent=Replace(strcontent,"files:","files :")'strcontent=Replace(strcontent,"script:","script :")'strcontent=Replace(strcontent,"js:","js :")'图片UBBre.pattern="\[img\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]"strcontent=re.replace(strcontent,"<a onfocus=""this.blur()"" href=""$1://$2"" target=new><img src=""$1://$2"" border=""0"" alt=""按此在新窗口浏览图片"" onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></a>")'链接UBBre.pattern="(\[url\])(.[^\[]*)(\[url\])"strcontent= re.replace(strcontent,"<a href=""$2"" target=""new"">$2</a>")re.pattern="\[url=(.[^\[]*)\]"strcontent= re.replace(strcontent,"<a href=""$1"" target=""new"">")'邮箱UBBre.pattern="(\[email\])(.*?)(\[\/email\])"strcontent= re.replace(strcontent,"<img align=""absmiddle"" ""src=image/email1.gif""><a href=""mailto:$2"">$2</a>")re.pattern="\[email=(.[^\[]*)\]"strcontent= re.replace(strcontent,"<img align=""absmiddle"" src=""image/email1.gif""><a href=""mailto:$1"" target=""new"">")
查看完整描述

2 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

  • 在replace函数中,$1,$2,$3,可以分别用来表示:

正则表达式中,匹配出的第1、2、3个子表达式。

  • 但如果$1,$2,$3直接写在正则表达式中,是不合法的。

  • 这串HTML代码中的$1,$2,$3其实和正则表达式无关,只是变量,起占位的作用:

在服务器端,会通过脚本(如Node.js)将HTML文件中的$1,$2,$3批量替换为实际字符串。


查看完整回答
反对 回复 2022-07-18
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

$1,$2,$3和正则表达式无关,这个代码应该是放在服务器上运行的,相当于一个变量。执行完之后,$1,$2,$3就被赋予实际的值了。这里起个站位的作用。
正则表达式内容有点多哦,大概说一下
^表示开始
$结尾
\用来转义
[a-z]指的范围在a-z
[a-z]{6}6位a-z范围的值
[a-z]*不限制长度范围


查看完整回答
反对 回复 2022-07-18
  • 2 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信