首页编程正则表达式中文(正则表达式如何只匹配一个中文字符)

正则表达式中文(正则表达式如何只匹配一个中文字符)

编程之家2023-11-0779次浏览

大家好,今天给各位分享正则表达式中文的一些知识,其中也会对正则表达式如何只匹配一个中文字符进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

正则表达式只能输入中文和字母

编码的字符串后面一定要加模式修饰符U。

正则表达式:[\\u4e00-\\u9fa5]*|\\w*|\\d*|_*

代码如下:

@Testpublicvoidtest1(){//匹配正则表达式Stringstr="[\\u4e00-\\u9fa5]*|\\||\\d*w*_*";Patternpattern=Pattern.comfromrunning(STR);//

字符串StringmStr="howfar_344fjdk";system.out。println("stringtesting:"+mStr);Matcherm=模式。匹配器(mStr);//

如果(m。ind())是匹配的,{system.out。println("matchcontent:"+m.group());}}

程序运行结果:

扩展资料:

注意事项:

匹配包含下划线的任何单词字符。相似但不公平”(咱——z0-9_)”,“这个词”字符的Unicode字符集,充分利用中国的是:

\u4e00——\\u9fa5],说英文字母\w,代表数字\d说_,_*是零个或多个,|或表达,所以每个匹配|拼接可以说与正则表达式相匹配。

正则表达式如何只匹配一个中文字符

汉字的表示和正则表达式引擎相关,不同引擎的写法不同,下面的写法适用于java引擎,或者一切以unicode来表示字符的引擎。

1、基本规格——针对汉字的一般集合(cp936,约等于GBK,共计20000多汉字)

[\u3007\u4E00-\u9FCB\uE815-\uE864]

2、扩充规格——针对多一些的汉字(支持CJK ExtA,共计接近30000汉字)

[\u3007\u3400-\u4DB5\u4E00-\u9FCB\uE815-\uE864]

3、豪华规格——针对更多的汉字(支持CJK ExtB、C、......,共计76000多汉字)

([\u3007\u3400-\u4DB5\u4E00-\u9FCB\uE815-\uE864]|[\uD840-\uD87F][\uDC00-\uDFFF])

如下关于汉字在unicode中的区间,亦可供参考

JS正则表达式,汉字表示!!!

中文字符匹配js正则表达式,普遍使用的正则是[\u4e00-\u9fa5],但这个范围并不完整。例如:/[\u4e00-\u9fa5]/.test('⻏')//测试部首⻏,返回false。

根据Unicode 5.0版编码,要准确的判断一个中文字符要包括:

范围含义范围含义

2E80-2EFF CJK部首补充 2F00-2FDF康熙字典部首

3000-303F CJK符号和标点 31C0-31EF CJK笔画

3200-32FF封闭式 CJK文字和月份 3300-33FF CJK兼容

3400-4DBF CJK统一表意符号扩展 A 4DC0-4DFF易经六十四卦符号

4E00-9FBF CJK统一表意符号 F900-FAFF CJK兼容象形文字

FE30-FE4F CJK兼容形式 FF00-FFEF全角ASCII、全角标点

因此,正确的匹配中文字符正则表达式为:

var rcjk=/[\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FBF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF]+/g;

java中非中文的正则表达式是什么

非中文 [^\u4e00-\u9fa5]

中文的正则表达式是[\u4e00-\u9fa5]

其他正则表达式

字符类

[abc] a、b或 c(简单类)

[^abc]任何字符,除了 a、b或 c(否定)

[a-zA-Z] a到 z或 A到 Z,两头的字母包括在内(范围)

[a-d[m-p]] a到 d或 m到 p:[a-dm-p](并集)

[a-z&&[def]] d、e或 f(交集)

[a-z&&[^bc]] a到 z,除了 b和 c:[ad-z](减去)

[a-z&&[^m-p]] a到 z,而非 m到 p:[a-lq-z](减去)

以上在java中使用时用双引号将它们括起来就可以了

预定义字符类

.任何字符(与行结束符可能匹配也可能不匹配)

\d数字:[0-9](单个数字)

\D非数字: [^0-9]

\s空白字符:[\t\n\x0B\f\r]

\S非空白字符:[^\s]

\w单词字符:[a-zA-Z_0-9]

\W非单词字符:[^\w]

以上在java中使用时除了将它们用双引号括起来以为,还须加\转义,例如\d的实际用法是”\\d“

POSIX字符类(仅 US-ASCII)

\p{Lower}小写字母字符:[a-z]

\p{Upper}大写字母字符:[A-Z]

\p{ASCII}所有 ASCII:[\x00-\x7F]

\p{Alpha}字母字符:[\p{Lower}\p{Upper}]

\p{Digit}十进制数字:[0-9]

\p{Alnum}字母数字字符:[\p{Alpha}\p{Digit}]

\p{Punct}标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

\p{Graph}可见字符:[\p{Alnum}\p{Punct}]

\p{Print}可打印字符:[\p{Graph}\x20]

\p{Blank}空格或制表符:[\t]

\p{Cntrl}控制字符:[\x00-\x1F\x7F]

\p{XDigit}十六进制数字:[0-9a-fA-F]

\p{Space}空白字符:[\t\n\x0B\f\r]

以上字符串要加双引号和反斜杠号

Greedy数量词

X? X,一次或一次也没有

X* X,零次或多次

X+ X,一次或多次

X{n} X,恰好 n次

X{n,} X,至少 n次

X{n,m} X,至少 n次,但是不超过 m次

用法也是将它们用双引号括起来

Logical运算符

XY X后跟 Y

X|Y X或 Y

(X) X,作为捕获组

用法也是将它们用双引号括起来

注意:正则表达式则有在方法参数明确是以正则表达式为参考时才使用,否则如果方法参数是普通字符序列时是不起作用的。

(引自网络和书籍)

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

assetmanager 安卓json数据保存到assetsmstar平台,MStar是什么软件