要求匹配这样字符的正则表达式怎么写?黑色:M(1),XXL(2);红色:L(2),30(2)这是颜色尺码信息字符串。
在线等……

解决方案 »

  1.   

    要匹配
    X色:x(x),XXX(X);
    ?
      

  2.   

    试试:<script language="javascript">
    str="我要的颜色是黑色:M(1),XXL(2)或者是红色:L(2),30(2),请问有吗?";  //样本字符串
    pattern=/[\u4e00-\u9fa5]{2}:[A-Z]+\(\d+\),([A-Z]+|\d+)\(\d+\)/g;  /*这是你要的正则表达式,如果颜色
                                                  中文不一定都是两个文字,那就比较麻烦*/
    arr=str.match(pattern);//测试输出
    alert(arr);
    </script>
      

  3.   

    要什么的结果,这样?<script language="javascript"> 
    var str = "黑色:M(1),XXL(2);红色:L(2),30(2)";
    var reg = /[^色]色:[^(]+\(\d+\)(,[^(]+\(\d+\))*/g;
    var arr = str.match(reg);
    if(arr != null)
    {
        for(var i=0;i<arr.length;i++)
        {
            document.write(arr[i] + "<br />");
        }
    }
    </script> 
    //输出
    黑色:M(1),XXL(2)
    红色:L(2),30(2)