测试字符串:
sdfabc.aspx 
aaaa.sd vaaaa.sd
dfggsdgdfghrtytrydfhgdf单行模式
.*(?!\.a)\w+$捕获结果:您的表达式获取到1项结果,分组个数为1.详细如下:
这是第1个组,组名为[0],所匹配到的明细如下:
这是第1条记录:所捕获的字符串为:dfggsdgdfghrtytrydfhgdf
应该有两项结果: aaaa.sd vaaaa.sd
为什么只有,如果我再添加如果满足条件它只会输出最后一条匹配的结果,如sdfabc.aspx 
aaaa.sd vaaaa.sd
dfggsdgdfghrtytrydfhgdf
sdfgsgjsdkgjsdgksdkgjskgsdjkgskdjkgjsdkgks
匹配结果:sdfgsgjsdkgjsdgksdkgjskgsdjkgskdjkgjsdkgks
我的需求:一段字符串中如果不包括.a 那么就匹配

解决方案 »

  1.   

    还是没有效果测试代码:
    sdf.aspx
    abc.html期待结果:abc.html调用正则:^((?!\.a)\w)+$匹配结果:无
      

  2.   


    你是把
    sdf.aspx 
    abc.html
    一起放进去匹配?
    那要写成这样。。
    ((?!\.a).)+
      

  3.   


    你是想拿一行一行去检查是否匹配吗?然后提取出可以匹配的行?
    如果你是单行模式,自然是无法匹配到。要改成多行的模式才能匹配到abc.html
      

  4.   

    你是想拿一行一行去检查是否匹配吗?然后提取出可以匹配的行?  恩(?m)^((?!\.a).)+$ 测试了可以成功匹配 
    请问下(?m)是什么意思?