项目中有这么个问题:用户输入的正则表达式不能与数据库中已有的正则表达式出现包含或者交叉关系,但是我对正则表达式之间的包含或者交叉判断不熟悉,也没google出什么名堂,特在此求教于各位大侠,小弟谢过先。

解决方案 »

  1.   

    大侠们 小弟再次呼喊你们啊 come on 
      

  2.   

    你对这个需求的理解有问题吧?照你说的,比如数据库中有^[0-9]*$ 用户输入个 ^\D*\S*\D*$ 不就把你所有输入给封死了啊,数字开头结尾的和^[0-9]*$冲突,其他的和^\D*\S*\D*$冲突......
      

  3.   

    没有 是这样的需求,只是我提取了其中的一个难点而已。对 如你所说的,这样就有冲突,就不能让用户提交,可是我就是想知道该怎么去写一个方法来判断 正则A和正则B存在冲突(也就是包含、交叉)
    boolean function(正则A,正则B) {
        if(正则A包含正则B || 正则B包含正则A) {
            return true;
        }
        else if(正则A交叉正则B) {
            return true;
        }
        else {
            return false;
        }
    }