字符串为: 
  (wire  (ss dd)  
                         (net ADDR1) )
  (wire (aaa aa  aa)   
                       (net ADDR2))
  (wire (aaa aa  aa)  
                       (net ADDR2))
  (wire (aaa aa  aa)  
                       (net ADDR4))
  (wire (aaa aa  aa)   
                       (net ADDR2))
  (wire (aaa aa  aa)   
                       (net ADDR1))目标是找出以(wire开头,(net ADDR2结尾的匹配,特别的一点就是希望这中间不能再有(wire即(wire  (ss dd)  
                         (net ADDR1) )
  (wire (aaa aa  aa)   ...匹配1
                       (net ADDR2)) ...匹配1
  (wire (aaa aa  aa)  ...匹配2
                       (net ADDR2)) ...匹配2
  (wire (aaa aa  aa)  
                       (net ADDR4))
  (wire (aaa aa  aa)   ...匹配3
                       (net ADDR2)) ...匹配3
  (wire (aaa aa  aa)   
                       (net ADDR1))
我试过\(wire(?<string1>.*?)\(net ADDR2,结果是(wire  (ss dd)  ...匹配1
                         (net ADDR1) )...匹配1
  (wire (aaa aa  aa)   ...匹配1
                       (net ADDR2)) ...匹配1  (wire (aaa aa  aa)  ...匹配2
                       (net ADDR2)) ...匹配2  (wire (aaa aa  aa)  ...匹配3
                       (net ADDR4))...匹配3
  (wire (aaa aa  aa)   ...匹配3
                       (net ADDR2)) ...匹配3
  (wire (aaa aa  aa)   
                       (net ADDR1))不知道该怎样指定让程序能够将表达式中的string1组不包含(wire,