JAVA小白学习笔记 正则表达式

正则表达式:用来判断用户输入的内容是否符合格式的要求,严格区分大小写。

String str = ""

[]允许出现的内容,可以简写,但必须连续,[0123456789]→[0-9],[a-z]
{}允许出现的长度,不写默认为1
例1:①[0-9]{4}     0000-9999之间的数 允许出现4位,并且每位内容为0-9中的一位
   ②[0123456789]{4} 与①式等价
例2:[abc][123] 
表示两位,
第一位在a,b,c中取任意一个,
第二位取1,2,3中的任意一个,
可能为a1,a2,a3,b1,b2,b3,c1,c2,c3

正则表达式 中 符号 的实意

^ 取反, 例[0-9]取一位0-9的字符,[^0-9]取一位不在0-9中的字符
? 出现0-1次, [123]? 只能出现1或2或3或空白
* 出现0或多次, [abc]* 可以是由a,b,c字符组成的任意长度的串,a,b,c,ab,ac,acabcba等等,包含空白
+ 出现的次数>=1, [abc]+ 和*的用法一样,但不包含空串
. 匹配 单个 任意字符

\s 只含空白
\d 数字与[0-9]等价
\w 字母数字下划线[0-9a-zA-Z]
大写即取反
\S 不含空白
\D 不含数字与[^0-9]与等价
\W 不含字母数字下划线,可以为!@#$%^&这些

实际使用时需要注意
JAVA中'\'为转义字符,故使用如下的格式
String str="\\w";
String str="\\s";

例:手机号,首位必为1,第二位不为0,1,2,剩余9位可为0-9的数
String phone = "[1][3-9][0-9]{10}"

例:身份证号,18位,前17位为数字,最后一位可为X
String ID = "[0-9]{17}[0-9X]"

例:验证码,包含字母数字,长度为4
String code = "[0-9a-zA-Z]{4}"

代码验证:

public class TestRegex {
	public static void main(String[] args) {
		String str = "[1][3-9][0-9]{9}";
		String input;
		do {
			System.out.println("请输入");
			input = new Scanner(System.in).nextLine();
			if(input.matches(str)) {
				System.out.println("满足");
				return;
			}
		}while(!input.matches(str));
	}
}


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值