能够匹配日文以及代码中的一切东西,但是不可以有中文及其他语言的字符
比如:
String str1 = new String();//ありがとうございます
这样的一行代码是可以匹配出来的我是要做代码分析工具,功能之一是查找代码中是否有非法字符(中文,以及小日本看不懂的其他文字)我是真心写不出来啊急求!!再次感谢!!
比如:
String str1 = new String();//ありがとうございます
这样的一行代码是可以匹配出来的我是要做代码分析工具,功能之一是查找代码中是否有非法字符(中文,以及小日本看不懂的其他文字)我是真心写不出来啊急求!!再次感谢!!
解决方案 »
- CS客户端浏览服务器文件目录
- 集合问题
- 过程或函数 'xxx' 需要参数 '@xxxx',但未提供
- 在TabControl的两个TabPage之间传递ArrayList!!!
- 窗口隐藏或者没有在工具栏上显示图标的时候,窗口的全局快捷键是不是就没有了?
- 请问在FORM编程中如何使datagrid可修改但不能添加新的记录
- C# 中 winform 的 ToolWindow 风格,能不能加上最小化和最大化按钮?
- 如何用代码删除RichTextBox中选中的文字?
- 高分求助!!急急急!小弟是菜鸟,请各位前辈多多指教!谢谢!
- DataGridView删除多行的“新”问题。
- 在类内部引用类的实例,参数怎么传递的?
- 求帮忙C#导出EXCEl的问题
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;
}
这是我用的代码
^[\u0800-\u4e00\W]+$
这个也不行
^[\u0800-\u4e00\W_a-zA-Z\d]+$
{
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;
}以上是我的解决方法,也希望其他同学每次自己解决了一个问题后,能够把解决方案和大家共享