怎么没人回?自己 uping...

解决方案 »

  1.   

    sorry,^(?:[^'_%]+|.*?(['_%]).*?\1.*?)$
      

  2.   

    主要是考虑sql中的转义,
    在字符串中若要把保留字符' % _当一般字符使用
    需要用'' %% __
    来转义所以不允许出现'''可以出现''''''
      

  3.   

    try^(?:[^'_%]*((?:''|__|%%)[^'_%]*)*)$
      

  4.   

    1.Matches 所有 ['%_]+ ,看他们的Group的长度,或用MatchEvaluator
    http://www.csdn.net/develop/read_article.asp?id=160022.替换['%_]{2}为空,直到没有可替换的,这时查找是否有['%_]2.很复杂的正则,现在没有环境,回头再说,hehe
      

  5.   

    对不起,提问题时我没考虑清楚
    其实在一般sql只有'需要''转义
    只在like子句中需要对' % _转义
    但%和_可以任意出现
    而且用%%和__转义会出现很多副作用
    一般用ESCAPE子句saucer(思归, MS .NET MVP)的表达式
    还是解决我的提问
    可以作为一个知识来学习
    谢谢。也谢谢qiushuiwuhen(秋水无恨)。