C#匹配中文字符串的4种正则表达式

2021-07-25 23:54

阅读:571

在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5]。所以,在此基础上,我们可以得到如下一些正则表达式。

1、匹配字符串全部是中文字符的正则表达式

代码如下:
"^[\u4e00-\u9fa5]+$"


说明:“^”表示字符串开头,“$”表示字符串结束,“[\u4e00-\u9fa5]+”表示一个或多个中文字符。

 

2、匹配字符串中包含中文字符的正则表达式

代码如下:
"[\u4e00-\u9fa5]"


说明:本例中只要求判断字符串中是否出现中文,所以不需要字符串头和尾,只要在整个字符串中有中文就可以被匹配到。

 

3、匹配字符串中以中文字符开头的正则表达式

代码如下:
"^[\u4e00-\u9fa5]"


说明:在正则表达式的最前面加一个“^”,再紧跟一个中文字符,即可匹配以中文字符开头的字符串。

 

4、匹配字符串中以中文字符结尾的正则表达式

代码如下:
"[\u4e00-\u9fa5]$"


说明:在正则表达式的最后面加一个“$”,在此之前加一个中文字符,即可匹配以中文字符结尾的字符串。

 

 1 string[] RegexNumber = {
 2                                     @"\d+.",
 3                                     @"\(\d{4}.+",
 4                                     @"\(\?\)",
 5                                     @"[\u4e00-\u9fa5]+$"
 6                                    };
 7             for (int j = 0; j )
 8             {
 9                 if (Regex.IsMatch(name, RegexNumber[j], RegexOptions.IgnoreCase))
10                 {
11                     Match match = Regex.Match(name, RegexNumber[j], RegexOptions.IgnoreCase);
12                     Name = name.Replace(match.Value, "");
13                     name = Name;
14                 }
15             }

 


评论


亲,登录后才可以留言!