吾知网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7163|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-1-7 16:45:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在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 < RegexNumber.Length; 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             }

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|吾知网 ( 粤ICP备13013563号-1 )

GMT+8, 2024-12-22 20:28 , Processed in 1.093750 second(s), 8 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表