asp正则表达式使用过程中踩的坑

以下代码是我调试过程中的代码,有以下问题:

1、matches(0).SubMatches(0)是匹配模式中有()的时候来获取结果。

2、如果匹配模式中无()则直接用Match.value获取匹配结果

3、将以下代码copy到test.asp的文件中时,在调试的时候浏览器有些时候看不到结果,是因为输出的结果中包涵了代码。采用源代码的模式是可以看到匹配的代码及文字。Match.value输出的结果是包涵了代码的。matches(0).SubMatches(0)输出的结果是可能剔除了代码的结果。

4、未解决的问题:html中的空格及换行,如stingtxt2的样式,没有找到剔除空格或换行的解决办法。欢迎交流:QQ:309800818

 

<%
Function RegExpTest(patrn, strng) 
    Dim regEx, Match, Matches ' 建立变量。 
    Set regEx = New RegExp ' 建立正则表达式。 
    regEx.Pattern = patrn ' 设置模式。 
    regEx.IgnoreCase = True ' 设置是否区分大小写。 
    regEx.Global = True ' 设置全程可用性。 
    Set Matches = regEx.Execute(strng) ' 执行搜索。 
    For Each Match in Matches ' 遍历 Matches 集合。 
    RetStr = matches(0).SubMatches(0)
    'RetStr = RetStr & Match.value &"<br/>" 
    'RetStr = RetStr & Matches(1) &"<br/>" 
    
    Next 
    RegExpTest = RetStr 
End Function

stingtxt = "<title>fasfasdfasdfadsfasdfdfasd</title>"
stingtxt2 = "<title>
 惜命最好的方式,竟不是养生,而是…惊醒无数人!
</title>"
'response.Write RegExpTest("<img.*?>","asdfasdfadsf<img src='ad.jpg'>asdfasdfasdfsdf<img src='bbbd.jpg'>")
response.Write(RegExpTest("<title>(.*?)<\/title>", stingtxt2)) 
'response.Write(RegExpTest("(<title>)", "<title>fasdfasd</title>")) 
'response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值