要求形如 1:您好abc 2:abc您好 3:ab您好c 4:您abc好 
1,2为正确,3,4为不正确,请问如何写个正则表达式去过滤出1,2的形式呢?

解决方案 »

  1.   

    @"^[\u4e00-\u9fa5][\u4e00-\u9fa5][a-zA-Z]+$";
      

  2.   


    楼主的意思应该不是局限2个汉字,改一下
    @"^[\u4e00-\u9fa5]+[a-zA-Z]+$";
    前部分 汉字 后部分 字母
      

  3.   

    ^([\u4e00-\u9fa5]+[a-z]+)|([a-z]+[\u4e00-\u9fa5]+)$
      

  4.   

    @"^[\u4e00-\u9fa5]+[a-zA-Z]+$|^[a-zA-Z]+[\u4e00-\u9fa5]+$"
      

  5.   

    ^(([\u4e00-\u9fa5]+[a-zA-Z]+)|([a-zA-Z]+[\u4e00-\u9fa5]+))$
      

  6.   

    该楼的测试过可以用。<html>
    <head>
    <title>Regular Expression</title>
    <meta http-equiv="Content-type" content="text/html;charset=gb2312" />
    <style type="text/css">
    <!--
    #ShowResult{
    color:#f00;
    font:12pt arial;
    }
    #title{
    font:14pt arial,verdana,sans-serif;
    }

    -->
    </style>
        <script language="javascript">
    <!--
    /*
    // regex tester in JavaScript
    // Rainsome Studio
    // [email protected]
    //2008-6-6 in Shanghai
    */
        function Regex()
        {
    ///*
    if(document.getElementById("reMatch").value==""|| document.getElementById("sToMatch").value=="")
    {
    alert("请输入必要的数据。");
    return;
    }
    //*/
    var st1=document.getElementById("sToMatch").value ;
    var reStr1 =document.getElementById("reMatch").value; var sResult=eval( reStr1 + ".test(\"" + st1 + "\")" );

    document.getElementById("ShowResult").innerHTML ="Result:" + sResult; return; }
    -->
        </script>
    </head>
    <body >
    <div >
    <div id="title" >Regular Expression</div>
    <hr />
    <form id="frmRegex"><br />
    <div>Regex:<input id="reMatch" type="text" value="/re/ig"  /></div><br /><br />
    <div>To Match String:<input id="sToMatch" type="text" value="a Regular Expression"/></div><br /><br />
    <div id="ShowResult"></div><br /><br />
    <div><input type="button" onclick="javascript:Regex();" value="Click Here!"></div>
    </form>

    </div>
    </body>
    </html> 
      

  7.   

    ^([\u4e00-\u9fa5]+[a-z]+)|([a-z]+[\u4e00-\u9fa5]+)$