ASP正则表达式替换的问题

yongtang 2008-11-10 05:41:59
我有如下ASP代码


<%
function RegReplace(InputPattern,InputString,ReplaceString)
dim regEx
set regEx=new RegExp

regEx.Pattern=InputPattern
regEx.IgnoreCase=true

RegReplace=regEx.Replace(InputString,OutputString)

set regEx=nothing
end function

dim sOriginalString
sOriginalString="This is the sample text."

dim sPattern
sPattern="(\[b\])(\S+)(\[/b\])"

dim sReplaceString
sReplaceString="<b>$2</b>"

Response.Write "Original" & "<br>" & sOriginalString & "<br><br><br>"

Response.Write "Output" & "<br>" & RegReplace(sPattern,sOriginalString,sReplaceString)
%>


为什么执行后的结果是 Output 中的sample非但没有加粗,而是根本就消失了。请问这是为什么,应该如何正确写这段正则?

谢谢!
...全文
191 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yongtang 2008-11-11
  • 打赏
  • 举报
回复
楼上的方法确实可行

但是我也在学习正则表达式,遇到这样的情况比较郁闷,也希望能理解通这个疑惑!
yongtang 2008-11-11
  • 打赏
  • 举报
回复
原来如此!!

实在感激wcwtitxu的提醒,是我参数传递错误了!真是个超级低级的错误!!

再次感谢明示和所有LS帮忙的朋友!!

结帖!
  • 打赏
  • 举报
回复
<%
function RegReplace(InputPattern,InputString,ReplaceString)
dim regEx
set regEx=new RegExp

regEx.Pattern=InputPattern
regEx.IgnoreCase=true

RegReplace=regEx.Replace(InputString,ReplaceString)

set regEx=nothing
end function

dim sOriginalString
sOriginalString="This is the sample text."

dim sPattern
sPattern="(\[b\])(.*?)(\[/b\])"

dim sReplaceString
sReplaceString="<b>$2</b>"

Response.Write "Original" & "<br>" & sOriginalString & "<br><br><br>"

Response.Write "Output" & "<br>" & RegReplace(sPattern,sOriginalString,sReplaceString)
%>
  • 打赏
  • 举报
回复
<%
function RegReplace(InputPattern,InputString,ReplaceString)
dim regEx
set regEx=new RegExp

regEx.Pattern=InputPattern
regEx.IgnoreCase=true

RegReplace=regEx.Replace(InputString,OutputString)

set regEx=nothing
end function

dim sOriginalString
sOriginalString="This is the sample text."

dim sPattern
sPattern="(\[b\])(.*?)(\[/b\])"

dim sReplaceString
sReplaceString="<b>$2</b>"

Response.Write "Original" & "<br>" & sOriginalString & "<br><br><br>"

Response.Write "Output" & "<br>" & RegReplace(sPattern,sOriginalString,sReplaceString)
%>
cdcjk 2008-11-11
  • 打赏
  • 举报
回复
学习
wcwtitxu 2008-11-11
  • 打赏
  • 举报
回复
function RegReplace(InputPattern,InputString,ReplaceString)
dim regEx
set regEx=new RegExp

regEx.Pattern=InputPattern
regEx.IgnoreCase=true

RegReplace=regEx.Replace(InputString,OutputString)

set regEx=nothing
end function
virgo2008 2008-11-10
  • 打赏
  • 举报
回复
确实!楼上的也行!
街头小贩 2008-11-10
  • 打赏
  • 举报
回复
这样也可以呀:
replace("sample","[","<")
replace("sample","]",">")
virgo2008 2008-11-10
  • 打赏
  • 举报
回复
replace("sample","<b> sample</b>")
yongtang 2008-11-10
  • 打赏
  • 举报
回复
就想把
sample
替换成
<b>sample </b>
yongtang 2008-11-10
  • 打赏
  • 举报
回复
就想把
sample
替换成
<b>sample</b>
virgo2008 2008-11-10
  • 打赏
  • 举报
回复
你想替换什么呢?

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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