Kat*_*osa 1 java regex android
我需要一个接受所有字母(小写和大写),数字和这些字符/符号(' - ','_','@','.')的正则表达式.它不需要是电子邮件地址的形式.字符可以放在单词的任何位置.它也不应该接受空格,字长必须是8或更多.
这就是我到目前为止所拥有的.
^(?=\S{8})[a-zA-Z]\w*(?:\.\w+)*(?:@\w+\.\w{2,4})?$
Run Code Online (Sandbox Code Playgroud)
您可以使用以下正则表达式:
^[a-zA-Z0-9_@.-]{8,}$
Run Code Online (Sandbox Code Playgroud)
细节
^ - 字符串的开头[a-zA-Z0-9_@.-]{8,}- 8个或更多ASCII字母,数字.,_,@或者-$ - 字符串结尾.请参阅正则表达式演示.
当心\w在Android中,它在默认情况下所有Unicode字母和数字相匹配(但不是在Java中).
在Android/Java中,当使用它时.matches(),您可以删除^和$锚点,因为此方法需要完整的字符串匹配:
String regex = "[a-zA-Z0-9_@.-]{8,}";
Run Code Online (Sandbox Code Playgroud)