艾艾 发表于 2009-9-27 10:17:42

请教正则中单行和多行模式有啥区别


<p ><strong>xxcss</strong> 发表于 2009-9-15 19:53</p>
<h3>请教正则中单行和多行模式有啥区别</h3>1. 简单匹配多行  
-------------------------------------------------  
  Set re1 = New regExp  
  re1.Global = true  
  re1.IgnoreCase = true  
  re1.Multiline = false  
   
  re1.Pattern = "\([\s\S]+)\[\/code\]"  
  str = re1.Replace(str,"$1")  
   
  set re1=nothing  


2. 对匹配到的内容进行相关操作  
-------------------------------------------------  
  Set re1 = New regExp  
  re1.Global = true  
  re1.IgnoreCase = true  
  re1.Multiline = true  

    re1.Pattern = "\([?:\s\S]+)\[\/textarea\]"
  Set Matches = re1.Execute(str)  
    for each match in Matches  
      match=replace(match," <br/>",chr(13))  
      match=replace(match,"&amp;nbsp;",chr(32))  
      match=replace(match,"&amp;lt;"," <")  
      match=replace(match,"&amp;gt;",">")  
      match=replace(match,"&amp;#39;","'")  
      match=replace(match,"&amp;#34;",chr(34))  
      match=replace(match,""," <textarea name=""textarea"" cols=""60"" rows=""10"">",1,-1,1)  
      match=replace(match,""," </textarea> <br/> <input type=""button"" onclick=""rc()"" value=""running code"" />",1,-1,1)  
      
      re1.Pattern = "\[\s\S]+\[\/textarea\]"
      str = re1.Replace(str,match)  
    next  
  set  re1=nothing  
-------------------------------------------------  

是不是单行模式不能捕获 <br>这些的如上面的例子
为啥 对匹配到的内容进行相关操作 就要用第二种方式呢?<p ><strong>thinkothers</strong> 发表于 2009-9-17 02:06</p>
没什么区别。
replace和rs.replace是完全不一样的方法,前者是一般替换,后者是用正则匹配替换

第二个例子里面要替换的标签如br &amp;nbsp都是固定的内容,所以直接使用replace替换即可,能用replace替换的干嘛还要用rs1.replace正则替换呢
  

youyouqqq 发表于 2012-1-10 01:08:45

支持楼主了











static/image/common/sigline.gif
最近写了一个CMS内容管理系统,简单方便,全部静态生成。SEO优化建站。非常实用。?
只适合企业建站,新闻 发布系统,产品管理系统,还带购物车,?

SEO接单  一个月没到,上海包装设计公司 做到首页,只是做了站内优化

该关键字如果没掉的话,应该还在第二名。 QQ 370 88 66 21

建站找 长沙久安网络公司  如果只需要SEO把脉,只需50元,帮你分析网站所出现的问题,

做好站内优化, 指点你怎么优化自己的网站
页: [1]
查看完整版本: 请教正则中单行和多行模式有啥区别