java正则表达式

简介

使用特殊的符号来做校验,目标是操作字符串。例如:手机号码、邮箱、身份证校验等。

缺点

虽然能简化书写,但是正则表达式的阅读性较差

语法规则

[abc] 只有一个字符:a、b或c(简单类)

[a-zA-Z] 只有一个字符:a-z或A-Z

\d 数字:[0-9]

X{n} X,恰好n次  [0-9]{2,}表示0-9中任意数字至少为两位12或123都可以

X{n,} X,至少n次

X{n,m} X,至少n次,但是不超过m次 [0-9]{2,6}比如12,123,1234,12345,123456

+ 加号表示前面字符的出现次数必须大于或等于一次

| 表示或

\\d 表示0-9

\\. 表示一个点

转义字符

\D:非数字

\s:空白字符(如空格、\t制表位、\n换行符等)

\S:非空白字符(出了空白字符以外的其他都可以)

\w:单词字符:[a-zA-Z_0-9](包括:a-z、A-Z、_下划线和0-9)

\W:非单词字符

在正则表达式中"^"表示正则的起始标记,"$"表示结束标记(可以不写)

java.lang.String

str.matches(String regex);

返回boolean值,告知此字符串是否匹配给定的正则表达式

eg:String data=" ";

String regex="\\S";

boolean flag=data.matches(regex);

返回值为false

邮箱校验:[a-zA-Z_0-9]{3,}@([a-zA-Z]+|\\d+)(\\.[a-zA-Z]+)+

前台校验局限性

优点

1.能够对数据进行初步的筛选,减少后台服务器的压力

2.使用HTML5校验,比较简单易用

弊端

可以通过一些手段绕过前端的校验

你可能感兴趣的:(java正则表达式)