有人可以给我一个例子/解释这个正则表达式的作用:
(?![#$])
这是<%(?![#$])(([^%]*)%)*?>
ASP.NET 用来解析服务器端代码块的一部分。我理解表达的第二部分,但不理解第一部分。
我检查了文档,发现(?! ...)
意味着零宽度负前瞻,但我不完全确定我理解这意味着什么。到目前为止,我尝试的任何输入<% ... %>
似乎都有效 - 我想知道为什么第一个子表达式甚至在那里。
编辑:
我想出了这个表达式来获取 ASP.NET 表达式:<%.+?%>
然后我找到了微软制作的那个(上面有问题的完整表达式)。我试图理解为什么他们选择那个特定的表达方式,而我的表达方式似乎更简单。(我想看看我的表达式是否忽略了 MS 没有的某些边界条件。)