谁能解释一下下面的正则表达式是什么意思?
^(?=.*[\p{L}\p{M}0-9]).{6,50}$
它强制用户的用户名中至少有一个数字。
我应该如何修改它以移除此约束?
最佳答案
您需要删除前瞻中的 0-9
约束集:
^(?=.*[\p{L}\p{M}]).{6,50}$
现在,它允许字符串包含除换行符以外的任何符号,出现次数为 6 到 50 次,并且至少包含一个 Unicode 字母。
要在 Java 中使用它,您需要双转义反斜杠:
String pattern = "^(?=.*[\\p{L}\\p{M}]).{6,50}$";
关于java - 至少包含一个数字的字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30259356/