正则表达式由汉字,字母,数字,下划线以及@,!,#,$,&,%组成,一个汉字占两个字符,长度为4-20个字符

如题所述

这个问题本身是悖论。汉字在正则表达式中是占用一个字符的。

汉字的正则表达式为:

[\u4e00-\u9fa5]

若汉字为一个正则字符,结果为:

[\w@!#$&%]{4,20}

若汉字占2个字符位,以汉字开头的结果为:

[\da-zA-Z_@!#$&%]{4,20}|[\u4e00-\u9fa5]{1}[\da-zA-Z_@!#$&%]{2,18}|[\u4e00-\u9fa5]{2}[\da-zA-Z_@!#$&%]{0,16}|[\u4e00-\u9fa5]{3}[\da-zA-Z_@!#$&%]{0,14}|[\u4e00-\u9fa5]{4}[\da-zA-Z_@!#$&%]{0,12}|[\u4e00-\u9fa5]{5}[\da-zA-Z_@!#$&%]{0,10}|[\u4e00-\u9fa5]{6}[\da-zA-Z_@!#$&%]{0,8}|[\u4e00-\u9fa5]{7}[\da-zA-Z_@!#$&%]{0,6}|[\u4e00-\u9fa5]{8}[\da-zA-Z_@!#$&%]{0,4}|[\u4e00-\u9fa5]{9}[\da-zA-Z_@!#$&%]{2}|[\u4e00-\u9fa5]{10}

若中间包含汉字,我是无能为力。只有计算机能弄出如此多的代码。


汉字是一个字符(char),两个字节(byte)。

温馨提示:答案为网友推荐,仅供参考
相似回答