Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 这个正则表达式是什么意思:(?![#$]))_Asp.net_.net_Regex - Fatal编程技术网

Asp.net 这个正则表达式是什么意思:(?![#$]))

Asp.net 这个正则表达式是什么意思:(?![#$])),asp.net,.net,regex,Asp.net,.net,Regex,有人能给我一个例子/解释这个正则表达式的作用吗: (?![#$]) 这是ASP.NET用来解析服务器端代码块的的一部分。我理解表达式的第二部分,但不理解第一部分 我查看了文档,发现(?!…)表示零宽度负前瞻,但我不完全确定我是否理解这意味着什么。到目前为止,我尝试过的任何看起来像的输入似乎都有效——我想知道为什么第一个子表达式会出现 编辑: 我提出了一个用于提取ASP.NET表达式的表达式:,然后我找到了Microsoft制作的表达式(上面讨论的完整表达式)。我试图理解为什么他们选择了那个特别的

有人能给我一个例子/解释这个正则表达式的作用吗:

(?![#$])

这是ASP.NET用来解析服务器端代码块的
的一部分。我理解表达式的第二部分,但不理解第一部分

我查看了文档,发现
(?!…)
表示零宽度负前瞻,但我不完全确定我是否理解这意味着什么。到目前为止,我尝试过的任何看起来像
的输入似乎都有效——我想知道为什么第一个子表达式会出现

编辑: 我提出了一个用于提取ASP.NET表达式的表达式:
,然后我找到了Microsoft制作的表达式(上面讨论的完整表达式)。我试图理解为什么他们选择了那个特别的表达,而我的表达看起来简单多了。(我试图看看我的表达式是否忽略了MS one没有忽略的某些边界条件。)

如果下一个字符不是
#
$
,但不使用它,则匹配

它与阴性字符类
[^#$]
非常相似,只是阴性字符类也会使用该字符,使其无法与表达式的其余部分匹配

见差异,考虑匹配<代码> <代码> .<

  • 表达式
    捕获
    test%
  • 表达式
    捕获
    est%
    ,因为
    t
    被负字符类使用
Regex:
-新的APL:
⎕←{⍵⍨~{⍵∨≠\⍵}⍵∊''}txt
马克,谢谢你的回答。有没有一个例子与这个正则表达式不匹配?我问这个问题是因为我试图理解为什么这比只使用
要好。到目前为止我尝试的所有例子似乎都以同样的方式匹配。@xxbbcc:
谢谢你,你的解释非常有用。