有人可以解释以下正则表达式的含义吗?
^(?=.*[\p{L}\p{M}0-9]).{6,50}$
强制用户在其用户名中至少包含一个号码。
如何修改它以删除此约束?
答案 0 :(得分:1)
您需要删除前瞻中设置的0-9
约束:
^(?=.*[\p{L}\p{M}]).{6,50}$
现在,它允许包含任何符号但包含换行符的字符串,从6到50次出现,并且至少包含一个Unicode字母。
要在Java中使用它,您需要双重转义反斜杠:
String pattern = "^(?=.*[\\p{L}\\p{M}]).{6,50}$";