...帮忙写个正则,最大长度32,最小长度为4,只允许数字、字母、及半角符号...
发布网友
发布时间:2024-09-30 02:23
我来回答
共1个回答
热心网友
时间:2024-10-06 05:39
楼主的问题难点在于识别半角符号的正则。
经过搜索,我发现:
半角范围:u0000 - u00FF, uFF61 - uFF9F, uFFE8 - uFFEE
全角范围:
全角数字(0-9) uFF10 - uFF19
全角大文字(A-Z): uFF21 - uFF3A
全角小文字(a-z): uFF41 - uFF5A
全角平仮名:u3040 - u309F
全角片仮名:u30A0 - u30FF
全角Latin: uFF01 - uFF5E
全角Symbol: uFFE0 - uFFE5
经本人验证,[\u0000-\u00FF\uFF61-\uFF9F\uFFE8-\uFFEE]对数字字母符号均有效。因此答案是:
[\u0000-\u00FF\uFF61-\uFF9F\uFFE8-\uFFEE]{4,32}
缺陷:
我用python试验后,发现并不能识别一些在正则里面具有意义的字符,如'#','$'等,即使加了r''也不行。希望楼主注意,如果楼主的语言里面没有此问题,那最好~有问题继续追问我~