[英](Problems with java.util.regex.Pattern) checking string for digits and letters
我有一個任務來檢查新字符串(登錄)是否符合某些規則這些是規則:
1. It has to be 1-20 symbols length
2. It may consist of digits, letters (a-z,A-Z), dots and "-"
3. The first symbol has to be a letter (a-z,A-Z)
4. It has to end with a letter or a digit
所以我想到了使用java.util.regex.Pattern,我遇到了一些問題。 多數民眾贊成我所擁有的:
String login = "a.bc-.52";
Pattern p1 = Pattern.compile("([a-zA-Z]{1}[a-zA-Z\\d.-]{0,18}[a-zA-Z\\d])");
Matcher m1 = p1.matcher(login);
boolean b = m1.matches();
我無法檢查字符串是以字母還是以diggit結尾。 我想我可以拆分字符串並用不同的圖案檢查它的部分,但有些東西告訴我,它可以更容易地完成。
如果這是一個愚蠢的問題或者我犯了錯誤,我很抱歉。 也許有更簡單的方法,請告訴我。 謝謝
^[a-zA-Z]{1}[a-zA-Z\\d.-]{0,18}[a-zA-Z\\d]$
^
< - 確保字符串以字母開頭
$
< - 確保字符串以數字字母結尾
你要找的是美元符號。 就那么簡單:
t $ - >以t結尾
相反的是^
^ a - 以a開頭
因此,在您的情況下,最后添加美元符號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.