{?\s*052DF14F-6F28-44A0-9130-294FDA6176EB\s*}?
求助这里的{}是什么意思,  一般的花括号里面值得是重复的字数

解决方案 »

  1.   

    不是的,这是在snort规则中摘取出来的,原表达式如下
    "/<object\s*[^>]*\s*classid\s*=\s*(?P<q9>\x22|\x27|)\s*clsid\s*\x3a\s*{?\s*79EAC9E6-BAF9-11CE-8C82-00AA004BA90B\s*}?\s*(?P=q9)(\s|>)/si"
      

  2.   


    不是的,这是在snort规则中摘取出来的,原表达式如下
    "/<object\s*[^>]*\s*classid\s*=\s*(?P<q9>\x22|\x27|)\s*clsid\s*\x3a\s*{?\s*79EAC9E6-BAF9-11CE-8C82-00AA004BA90B\s*}?\s*(?P=q9)(\s|>)/si" 
      

  3.   

    事实证明是不需要的$s = 'aa{123}bb';
    preg_match_all('/{.+}/', $s, $r);
    print_r($r[0]);Array
    (
        [0] => {123}
    )这也是多模板引擎选择 {} 作为模板元素的标识的原因
    不仅仅是 {} 很少出现在正文了,主要是书写的识别规则串很清爽
    而 []、() 就不具备这个特点