当我们需要在C#中匹配中文字符串时,我们通常会使用正则表达式进行匹配。下面是匹配中文字符串的4种C#正则表达式。
1. 匹配中文字符的Unicode编码范围
string pattern = @"[\u4e00-\u9fa5]";
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches("这是一段中文字符");
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
以上代码中,我们使用了Unicode编码范围匹配中文字符, [\u4e00-\u9fa5] 表示匹配所有从4e00到9fa5的Unicode编码, 这个范围包含了常见的中文字符。程序输出为:这是一段中文字符。
2. 匹配中文字符的汉字Unicode编码范围
string pattern = @"[\u2e80-\u2fd5\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufad9\ud840-\ud87f\udc00-\udfff]";
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches("这是一段中文字符");
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
以上代码中,我们使用了中文字符的汉字Unicode编码范围,这个范围比Unicode编码范围更加全面,包含了更多的汉字字符。程序输出为:这是一段中文字符。
3. 匹配中英文字符
string pattern = @"[\u4e00-\u9fa5a-zA-Z]";
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches("This is 一段中文字符");
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
以上代码中,我们使用了包含英文字符的正则表达式,这样可以匹配中英文混合的情况。程序输出为:T h i s i s 一 段 中 文 字 符。
4. 匹配中文字符和空格
string pattern = @"[\u4e00-\u9fa5\s]";
Regex regex = new Regex(pattern);
MatchCollection matches = regex.Matches("This is 一段中文字符");
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
以上代码中,我们使用了包含空格字符的正则表达式,这样可以匹配中文字符和空格混合的情况。程序输出为:T h i s i s 一 段 中 文 字 符。
总而言之,以上4种C#正则表达式可以让我们在处理中文字符时更为方便快捷。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#匹配中文字符串的4种正则表达式分享 - Python技术站