有人能给我举个例子或者解释一下这个正则表达式的作用:
(?![#$])
这是<%(?![#$])(([^%]*)%)*?>
的一部分,这是ASP.NET用于解析服务器端代码块的。我理解了表达式的第二部分,但不理解第一部分。
我查阅了文档,发现(?! ...)
表示一个零宽度的负向先行断言,但我不确定我是否完全理解了它的含义。到目前为止,我尝试了所有看起来像<% ... %>
的输入都有效--我想知道为什么这个子表达式甚至存在。
编辑:
我想出了一个选择ASP.NET表达式的表达式:<%.+?%>
,然后我找到了微软制作的那个(上述完整表达式)。我试图理解为什么他们选择了这个特定的表达式,当我的表达式看起来要简单得多。(我试图看看我的表达式是否忽略了微软的某些边界条件。)
<%(?![#$])(([^%]*)%)*?>
- 新的 APL:⎕←{⍵⍨~{⍵∨≠\⍵}⍵∊'<>'}txt
- Michael Burr