有个问题,就是我输入“老?师”,然后需要得到所有的以“老”开头,和以“师”结尾的字符串。比如:“老大师”,“老小小师”。等
这个正则该怎么写?先谢谢大家了。

解决方案 »

  1.   

    var str = "老大师"
    var regex = /^老.*师$/;
    if(regex.test(str))
    {
       alert("字符串正确")
    }
      

  2.   

       var str = "老大师111111老1师asdf老2师asdf老3师saf老4师"
    var reg = /老[^师]*?师/ig;
    var arr=str.match(reg);
    for(var i=0;i<arr.length;i++){
    alert(arr[i]);
    }
      

  3.   

    谢谢你,老胡,你给我的代码启发了我。
    这是我自己写的代码。var anreg = "/" + beforstr + "[\\s\\S]?" + afterstr + "|" + beforstr + "[\\s\\S]{1,2}/ig";beforstr代表“老”
    afterstr代表“师”
      

  4.   

    是不是“老”和“师”之间只允许0-2个字var anreg = "/" + beforstr + "[\\s\\S]{0,2}" + afterstr + "/ig";