Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式中的Unicode和DB读/写_C#_Regex_Unicode_Character Properties - Fatal编程技术网

C# 正则表达式中的Unicode和DB读/写

C# 正则表达式中的Unicode和DB读/写,c#,regex,unicode,character-properties,C#,Regex,Unicode,Character Properties,晚安 我目前正在基于正则表达式匹配为C#语言编写一个非常简单的人类语言词汇分析器,我目前面临的问题是指定一个正则表达式可以匹配目标语言中所有可能的标点符号,另一个正则表达式也可以匹配所有类型的空格。在Stack Overflow和另一个站点中搜索后,我发现我可以分别使用Regexs\p{p}作为标点,使用\p{Z}作为空白,并且在从文本文件读取时可以工作。问题是,在最后一个程序中,需要从SQL数据库中读取记录并使用这个词法分析器处理它们,我不知道数据库中记录的编码是什么。在这种情况下这会是个问题

晚安

我目前正在基于正则表达式匹配为C#语言编写一个非常简单的人类语言词汇分析器,我目前面临的问题是指定一个正则表达式可以匹配目标语言中所有可能的标点符号,另一个正则表达式也可以匹配所有类型的空格。在Stack Overflow和另一个站点中搜索后,我发现我可以分别使用Regexs
\p{p}
作为标点,使用
\p{Z}
作为空白,并且在从文本文件读取时可以工作。问题是,在最后一个程序中,需要从SQL数据库中读取记录并使用这个词法分析器处理它们,我不知道数据库中记录的编码是什么。在这种情况下这会是个问题吗?所提到的正则表达式是否可以匹配输入的每个标点符号和空格字符,而不管它们的编码是什么


非常感谢。

NET Framework将从数据库中将字符串转换为Unicode。它是否正确地转换它们取决于是否有东西告诉它数据库文本编码是什么。但是
Regex
看到的字符串将使用Unicode

因此,假设数据库访问层正确地转换了数据库记录中的文本,您不必担心编码,因为它始终是Unicode