正则表达式中文(正则表达式如何只匹配一个中文字符)
大家好,今天给各位分享正则表达式中文的一些知识,其中也会对正则表达式如何只匹配一个中文字符进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
正则表达式只能输入中文和字母
编码的字符串后面一定要加模式修饰符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,本文到此结束,如果可以帮助到大家,还望关注本站哦!