比较准确完整的中文字符正则校验

网上大多数校验中文的正则都是\u4e00-\u9fa5,经过实际测试,这个正则无法匹配中文标点,如(),。等

仔细研究了unicode的规范,本着尽量宽泛、遵循unicode分类的原则,总结了一套比较准确完整的校验规则:

// http://www.unicode.org/charts/PDF/U2000.pdf 一般标点
// http://www.unicode.org/charts/PDF/U3000.pdf CJK符号和标点
// http://www.unicode.org/charts/PDF/U4E00.pdf CJK统一表意文字
// http://www.unicode.org/charts/PDF/UFF00.pdf 半宽全宽形状
String COMMON_STRING_REGEX = "[\u2000-\u206f\u3000-\u303f\u4e00-\u9fef\uff00-\uffef]*";

  

原文地址:https://www.cnblogs.com/demonbug/p/9928231.html

时间: 2024-08-07 17:26:03

比较准确完整的中文字符正则校验的相关文章

正则匹配中文字符

有如下字符: <li><a href="/song?id=185613">惊叹号</a></li><li><a href="/song?id=185614">迷魂曲</a></li> 怎么写正则才能匹配出" 迷魂曲"呢? 答: reg1 = /id=185614">([u4e00-\u9fa5]{3})<\/a>/g; va

iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange

废话不说,直接上代码 #pragma mark - 中文字符判断 - (BOOL)validateContainsChinese:(NSString *)content { NSRegularExpression *regularexpression = [[NSRegularExpression alloc] initWithPattern:@"^[\u4e00-\u9fa5]" options:NSRegularExpressionCaseInsensitive error:nil

iOS开发实用技巧—身份证的正则校验

iOS开发实用技巧—身份证的正则校验 说明: 在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013年1月1号起停止使用15位的身份证,网上的身份证校验普遍支持15位的号码. 在开发过程中,进行类似处理的时候,还是需要一些甄别的能力的,当然也要考虑自己的项目的实际情况.该文贴出了最近项目中使用到得身份证校验代码,以方便有需要的人“谨慎”获取. 一.规则

关于中文字符匹配js正则表达式

普遍使用的正则是[\u4e00-\u9fa5],但这个范围并不完整.例如:  /[\u4e00-\u9fa5]/.test( '?' ) // 测试部首?,返回false    根据Unicode 5.0版编码,要准确的判断一个中文字符要包括:  范围            含义                范围               含义  2E80-2EFF   CJK 部首补充    2F00-2FDF   康熙字典部首  3000-303F   CJK 符号和标点   31C0-

iOS—身份证的正则校验

iOS—身份证的正则校验 说明: 在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂 粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013年1月1号起停止使用15位的身份证,网上的身份证校验普遍支持15位的号码. 在开发过程中,进行类似处理的时候,还是需要一些甄别的能力的,当然也要考虑自己的项目的实际情况.该文贴出了最近项目中使用到得身份证校验代码,以方便有需要的人“谨慎”获取. 一.规则 下面是i

RegExp正则校验之Java及R测试

前言: 正则表达式(英语:Regular Expression)原属于计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里边,正则表达式通常被用来检索.替换那些符合某个模式的文本.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,Perl,Shell,R,Java等等. 因本人最近刚好在学习R语言进行网页数据抓取,觉得有必要对正则表达式做个小总结,于是便有了此文. 1.重要元字符及其简短描述 元字符 描述 \ 将下一个字符标记为一个

抽取网页源代码中的中文字符

通过正则匹配中文字符,写入新的文本,我在这里删除了表示字体的中文 import re f=open(r'C:\Users\lenovo\Desktop\1.txt','r',encoding='utf8') m= re.compile(u"[\u4e00-\u9fa5]+") p=open(r'C:\Users\lenovo\Desktop\2.txt','w',encoding='utf8') for line in f.readlines(): list=re.findall(m,

获取大段文字中的所有中文字符并去重

主要目的是freetype加载全部中文文字的时候节省一些开销. 1.首先将所有含有中文文字的java.json等,全文粘贴到一个文本中. 2.在文本中全文搜索,开启正则,条件为:[^\一-\龥]+ 3.将所有符合搜索结果的部分replace为"" 4.将剩余的中文字符用下面代码简单处理 import java.util.ArrayList; /** * Created by xirtam on 15/6/29. */ public class Test { public static

中文字符,全角字符的正则表达式(转载)

经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常好用推荐一下 两外推荐个网址http://mscenter.edu.cn/blog/yongsheng/archive/2004/11/19/308.html 这个家伙收录的正则很多,呵呵 关键字:正则表达式  模式匹配 Javascript 摘要:收集一些常用的正则表达式. 正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会