ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-10-11 16:00:57  阅读:185  来源: 互联网

标签:abc JAVA String 正则表达式 System 小白 str input 数字


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

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));
	}
}


 

标签:abc,JAVA,String,正则表达式,System,小白,str,input,数字
来源: https://blog.csdn.net/weixin_61816647/article/details/120704874

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有