Java正则表达式语法规则
- [abc] 范围a、b、c之间
- [a-zA-Z] 范围a到z或A到Z,两头的字母包括在内
- [0-9] 范围是0-9之间的数字,可以用简写 \d 来代替[0-9 ]
- X{n} X, 恰好n次。 如:[0-9]{2} , 指0-9之间的数字恰好出现两次,也就是两位数。
- X{n, } X, 至少出现n次。
- X{n, m} X, 至少出现n次,但是不超过m次。如:[a-z]{2, 6}
//代码示例
<form action="/servlet" method="post">
用户名:<input type="text" name="username" pattern="[a-zA-Z]{6,12}" required="required" placeholder="请输出6-12位的数字或字母"/>
密 码:<input type="password" name="password" pattern="[0-9]{6,}" required="required" placeholder="密码为至少6位的数字"/>、
手机号:<input type="text" name="phone" pattern="1[3578]\d{9}" required="required" placeholder="请输入正确的手机号"/>
邮 箱:<input type="email" name="email" required="required" placeholder="请输入邮箱"/>
<input type="submit" value="注册"/>
<input type="reset" value="重置"/>
</form>
- \D : 非数字
- \s : 非空白字符(如空格、\t制表符、\n换行等)
- \S : 非空白字符(除了空白字符以外的其他都可以)
- \w : 单词字符:[a-zA-Z_0-9]
- \W : 非单词字符
- 在正则表达式中 " ^ " 表示正则的起始标记," $ " 表示结束结束标记(可以不写)
//代码示例
public class RegexText{
public static void main(String[] args){
String data = "a"; //给定一个非数字
String regex = "\\D"; //非数字
boolean flag = data.matches(regex);
System.out.println(flag); //结果为true
String data2 = " ";
String regex2 = "\\s"; //空白字符
boolean flag2 = data2.matches(regex2);
System.out.println(flag2); //结果为true
String data3 = " abc";
String regex3 = "\\S"; //非空白字符
boolean flag3 = data3.matches(regex3);
System.out.println(flag3); //结果为true
String data4 = "8";
String regex4 = "\\w"; //单词字符 :[a-zA-Z_0-9]
boolean flag4 = data4.matches(regex4);
System.out.println(flag4); //结果为true
}
}
网友评论