请问一个字符串 不能存在冒号 且头尾不能出现空字符 空格出现在中间是允许的
这个正则怎么写呢谢谢各位了

解决方案 »

  1.   


    public static void main(String[] args) {
    //不能存在冒号 且头尾不能出现空字符 空格出现在中间是允许的
    String arr[] = {
    " aa",
    "aa ",
    "aa:bb",
    "aa bb"
    };
    for(int i=0;i<arr.length;i++){
    System.out.println(arr[i].matches("[^\\s:][^:]*[^\\s:]"));
    }
    }
      

  2.   

    aaa:bbb
    bbb:ccc:
    这样都行啊。。
    是不能存在冒号!
      

  3.   

    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        </head>
        <body>
         <input id="inputbox" type="text" value="" />
            <script>
             var reg = /^[^\:\s][^\:]*[^\:\s]$/;
             document.getElementById('inputbox').onchange = function(){
             alert(reg.test(this.value));
             }
            </script>
        </body>
    </html>
      

  4.   

    如果要限定只能输入数字、字母、下划线:  ^(?!\s)[\w^:]*(?!\s)$如果要输入汉字以及其他乱码:           ^(?!\s)[^:]*[^:\s](?!\s)$因该不会错了...
      

  5.   

    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        </head>
        <body>
         <input id="inputbox" type="text" value="" />
            <script>
             var reg1 = /^[^\:\s][^\:]*[^\:\s]?$|^[^\s\:]$/,
             reg2 = /^(?=\S)(?=[\s\S]*\S$)[^\:]*$/;
             document.getElementById('inputbox').onchange = function(){
             alert(reg1.test(this.value)+', '+reg2.test(this.value));
             }
            </script>
        </body>
    </html>2个正则都可以