能够匹配日文以及代码中的一切东西,但是不可以有中文及其他语言的字符
比如:
String str1 = new String();//ありがとうございます
这样的一行代码是可以匹配出来的我是要做代码分析工具,功能之一是查找代码中是否有非法字符(中文,以及小日本看不懂的其他文字)我是真心写不出来啊急求!!再次感谢!!

解决方案 »

  1.   

    [\u0800-\u4e00a-zA-z\d]+如需特殊字符可在加入中括号内
      

  2.   


     static void Main(string[] args)
            {
                //^[\u4e00-\u9fa5a-zA-Z\d_,\.!\r\n]+$
                //[\u0800-\u4e00]
                string str = "String str = new String(); ";
                if (Judge(str))
                    Console.Write("属于日文");
                else
                    Console.Write("不属于日文");
                Console.Read();
            }        public static bool Judge(string text) {
                Regex regWord = new Regex(
                      @"^[\u0800-\u4e00]+$",
                      RegexOptions.IgnoreCase
                      | RegexOptions.CultureInvariant
                      | RegexOptions.IgnorePatternWhitespace
                      | RegexOptions.Compiled
                      );            if (regWord.IsMatch(text))
                    return true;
                return false;
            }
    这是我用的代码
      

  3.   

    这样试试
    ^[\u0800-\u4e00\W]+$
      

  4.   

    ^[\u0800-\u4e00\W]+$
    这个也不行
      

  5.   

    你还应该匹配字母,下划线,及数字
    ^[\u0800-\u4e00\W_a-zA-Z\d]+$
      

  6.   

    ^[\u0800-\u4e00= - ! () (); , {}]+$
      

  7.   

    这个问题,我用正则没解决了private bool IsNotJapanese(string text)
    {
    string temp = Punctuation.QuestionMark;
    text = text.Replace(temp, DBDEF.ST_DEF);
    Encoding japan = Encoding.GetEncoding(CodeConst.JapanCode);
    Encoding unicode = Encoding.UTF8;
    byte[] unicodeBytes = unicode.GetBytes(text);
    byte[] japanBytes = Encoding.Convert(unicode, japan, unicodeBytes);
    char[] asciiChars = new char[japan.GetCharCount(japanBytes, 0, japanBytes.Length)];
    japan.GetChars(japanBytes, 0, japanBytes.Length, asciiChars, 0);
    string asciiString = new string(asciiChars); if (asciiString.Contains(Punctuation.QuestionMark)) {
    return true;
    }
    return false;
    }以上是我的解决方法,也希望其他同学每次自己解决了一个问题后,能够把解决方案和大家共享