?
 Match any character one time, if it exists
 eg:
 egrep “?erd” sample.txt
 Will match “berd”, “herd”, etc. and “erd”

解决方案 »

  1.   

    thanks,^[0-9]\.(?(?<=0\.)[1-9]|[0-9])$????????
      

  2.   

    (?(?<=0\.)[1-9]|[0-9])  ===> (?(expression)yes|no)先做匹配测试看能否匹配expression,如果能匹配,就用去匹配yes,否则匹配no
      

  3.   

    .NET帮助中有正则表达式的帮助!!
      

  4.   

    publicx  ,那么要csdn 做什么。我在这耐心的钓。
      

  5.   

    ^(?:(?:[4])(?:\d{12}|\d{15}))$(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非捕获匹配,不进行存储供以后使用.====>把?:全部去掉再看,可以知道正则表达式表达的是以4打头,后面跟12或15位数字
      

  6.   

    多谢 xixigongzhu,filenewexit
      

  7.   

    >>>是不是表示:
    在完整的一行中,起始字符不为0-9,变量(后边跟一个.)小于\等于0的时候,取1-9,否则取0-9
     
      不是^[0-9]\.(?(?<=0\.)0\.[1-9]|[0-9])$^[0-9]\.  表示以0-9的数字,后加一个.开头  你说的起始字符不为0-9是这样的^[^0-9]
    (?(?<=0\.)[1-9]|[0-9])$ 表示以.(?(?<=0\.)[1-9]|[0-9])结束
    (?(?<=0\.)[1-9]|[0-9])  (?<=0\.)表示整个字符串要以0.开头;(?(?<=0\.)[1-9]|[0-9])先去测试匹配看整个字符串是不是0.开头的,如果是的话,就用字符(除去前面匹配了[0-9]\.后剩下的字符串)去匹配[1-9],如果不是0.打头的话,就去匹配[0-9]===>^[0-9]\.(?(?<=0\.)0\.[1-9]|[0-9])$  匹配的是0.1,0.2,0.3-->9.9这样的字符串