请教下正则多行模式与单行模式捕获的结果又啥区别

renzaijiang 2009-09-15 05:21:18
1. 简单匹配多行
-------------------------------------------------
Set re1 = New regExp
re1.Global = true
re1.IgnoreCase = true
re1.Multiline = false

re1.Pattern = "\[code\]([\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 = "\[textarea\]([?:\s\S]+)\[\/textarea\]"
Set Matches = re1.Execute(str)
for each match in Matches
match=replace(match,"<br/>",chr(13))
match=replace(match," ",chr(32))
match=replace(match,"<","<")
match=replace(match,">",">")
match=replace(match,"'","'")
match=replace(match,""",chr(34))
match=replace(match,"[textarea]","<textarea name=""textarea"" cols=""60"" rows=""10"">",1,-1,1)
match=replace(match,"[/textarea]","</textarea><br/><input type=""button"" onclick=""rc()"" value=""running code"" />",1,-1,1)

re1.Pattern = "\[textarea\][\s\S]+\[\/textarea\]"
str = re1.Replace(str,match)
next
set re1=nothing
-------------------------------------------------

是不是单行模式不能捕获<br>这些的 如上面的例子
...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
浴火_凤凰 2009-09-16
  • 打赏
  • 举报
回复
多行模式匹配有换行
  • 打赏
  • 举报
回复
单行模式下 ^ 与 $ 分别字符串的开头和结尾,如果在多行模式下 ^ 与 $ 分别表示每行的行首和行末。
BeenZ 2009-09-15
  • 打赏
  • 举报
回复
多行模式匹配有换行(在字符串中体现为\n)的 字符串你尝试匹配

var s="asdasdas" //无换行
var s1="dasdasdasd \n sdadasdasdas" //有换行

单行模式无法匹配下面这个字符串
renzaijiang 2009-09-15
  • 打赏
  • 举报
回复
自顶
sumjor 2009-09-15
  • 打赏
  • 举报
回复
帮顶

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧