我有一个问题,我需要在文件中找到一个字符串,但是当我运行regex.match函数时,它返回“<”之间没有任何文本的字符串和“>”失踪。这是我的代码和返回的字符串
原始字符串 - [$iif{len("Test")>0,<meta name="Author" content="Test">,""}$]
正则表达式 - \[\$[a-zA-Z_0-9\{\}\(\)<>=\|/\."",\s]*\$\]
结果 - [$iif{len("Test")>0,,""}$]
'Visit http://msdn.microsoft.com/en-us/library/ms974570.aspx for explanation on this reg expression
regex.pattern = "\[\$[a-zA-Z_0-9\{\}\(\)\<\>=\|/\."",\s]*\$\]"
set matches = regex.execute(psTemplateData)
for each m in matches
response.write m & " index - " & m.FirstIndex & " " & m.length & "<br />"
next
有趣的是,匹配的原始字符串的字符串长度正确。提前感谢您的帮助。
瓦德
答案 0 :(得分:2)
正则表达式看起来很好。我猜你的浏览器会显示[$iif{len("Test")>0,,""}$]
,因为<meta name="Author" content="Test">
部分被解释为HTML并因此消失。
您需要对输出进行编码,以使这些尖括号变为<
和>
。查看Server.HTMLEncode
方法。