(?!.*[0-9]{3})[a-z|A-Z|0-9|\u4e00-\u9fa5|_]{2,12}
这个是我写的,但是前面的[0-9]{3}只能匹配连续数字个数,像这样子的w34dd64s44字符串就可以通过匹配
一个正则表达式的需求1.可包含数字字母中文下划线共2-12位2.如果包含数字,那么数字的个数不能超过4个
答案:2 悬赏:0
解决时间 2021-12-13 00:34
- 提问者网友:星空下的寂寞
- 2021-12-12 21:17
最佳答案
- 二级知识专家网友:伤口狠精致
- 2021-12-12 22:15
(?!(\D*\d){4})^[\u4e00-\u9fa5\w]{2,12}$
解释:
(?!(\D*\d){4})
#断言后面的内容不能有4个或以上的数字
#你的正则只能断言后面不能有连续的3个数字,但是可能数字之间还有其它非数字
#我在\d之前加上\D*,表示匹配那些数字之间的非数字。
^[\u4e00-\u9fa5\w]{2,12}$
#\d表示数字\w表示字母数字下划线,可提高效率
解释:
(?!(\D*\d){4})
#断言后面的内容不能有4个或以上的数字
#你的正则只能断言后面不能有连续的3个数字,但是可能数字之间还有其它非数字
#我在\d之前加上\D*,表示匹配那些数字之间的非数字。
^[\u4e00-\u9fa5\w]{2,12}$
#\d表示数字\w表示字母数字下划线,可提高效率
全部回答
- 1楼网友:随心随缘不随便
- 2021-12-12 23:51
\w
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯