如何限制字符串长度为100 .(1,100) 中从头匹配到最先出现的abc
csdn.{1,100}abc 这是最大匹配(1-100个字符串中,我需要最小的)

解决方案 »

  1.   

    正在学习中~~
    给你推荐一个好工具The Regulator 2.0,写正则很好用啊
      

  2.   


    同感。。建议LZ匹配两次
    先用:
    csdn.*?abc再用
    csdn.{1,100}abc或者就判断第一次匹配的长度就行了,如果长度大于107的就舍弃。。
      

  3.   

    csdn.{1,100}abc  考虑过比如说字符串为 csdnfddabckjdsfjabc 他会匹配所有 而不是csdnfddabc
      

  4.   


    刚回过头看了一下,写成下面这样就可以了:csdn((?!abc).){1,100}abc
      

  5.   

    呵呵,止戈的进步还真快//很多人都忽略了这样一种非贪婪匹配模式
    csdn.{1,100}?abc当然,这两种写法孰优孰劣,还要看具体应用的
      

  6.   

    呵呵,客气主要是这种应用场景很少,所以很容易被忽略
    其实想想,?等同于{0,1},*等同于{0,},+等同于{1,},既然可以有??,*?,+?,当然也可以有{m,n}?这种非贪婪匹配模式了
    0009是这方面的高手,而且实际经验很丰富,不过好像在WEB那边呆的多些