大神们早上好,刚开始学习正则。
问大家个问题。
例:string str = "早上。"; //正则表达式 string pattern = @"[\u4e00-\u9fff]+"; Regex r = new Regex(pattern); //使用正则表达式匹配字符串,仅返回一次匹配结果 Match m = r.Match(text); while (m.Success) 。
正则表达式匹配中文汉字 [\u4e00-\u9fa5] ,该表达式可以识别出任何汉字。
但上述 \u3002 等匹配的符号不在范围内。
\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 或许你也需要匹配双字节字符,中文也是双字节的字符 注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)更多常用正则表达式。
一般情况下可以这样匹配中文,如图:<img src="https://pic4.zhimg.com/50/edcbd2faf1a916675cec852bd886e599_hd.jpg" data-rawwidth="827" data-rawheight="600" class="origin_image zh-lightbox-thumb" widt。
我想匹配图中的汉字,用的公式[\u4e00-\u9fa5],但匹配的确是部分英文和。按.NET的标准,\w本来就是可以匹配:汉字,字母,数字,下划线。
的 所以一般\w可以满足需求了。
如果需要排除字母数字的话,可以这样:(?![a-zA-Z0-9_])\w >_>这样写估计效率不高 所以一般来说还是直接匹配指定的。