java正则表达式
正则表达式:正确规矩的表达式
一般用来检测字符串是否符合某规矩、依据某规矩切分字符串或替换符合规矩的文本
例如:
查看校验字符串中的QQ号是否如何如下规矩:
①有必要为5~15位数字
②不能以0最初
若运用之前代码:
以上要求就可以变成一个正则表达式:[1-9][0-9]{4,14}
通过正则表达式,我们就可以查看字符串中的QQ号是否符合要求了。
2.字符串正则的常用办法
举例:校验手机号码
1:要求为11位数字
2:第1位为1,第2位为3、4、5、7、8中的一个,后边9位为0到9之间的恣意数字。
代码演示:
Stringphone=”18810022666″;
Stringregex=”1[34578][0-9]{9}”;
booleanflag=phone.matches(regex);
办法名描绘
booleanmatches(Stringregex)当时字符串是否匹配给定的正则表达式
StringreplaceAll(Stringregex,Stringreplacement)运用replacement替换当时字符串中所有符号正则表
达式的内容
String[]split(Stringregex)依据给定的正则表达式拆分当时字符串
操练:
1、
举例:校验qq号码.
1:要求有必要是5-15位数字
2:0不能最初
代码演示:
Stringqq=”604154942″;
Stringregex=”[1-9][0-9]{4,14}”;
booleanflag2=qq.matches(regex);
2、
举例:校验手机号码
1:要求为11位数字
2:第1位为1,第2位为3、4、5、7、8中的一个,后边9位为0到9之间的恣意数字。
代码演示:
Stringphone=”18810022666″;
Stringregex=”1[34578][0-9]{9}”;
booleanflag=phone.matches(regex);
3、
举例:将字符串中的数字悉数替换成!号
Stringstr=”1a2b3c4d”;
str=str.replaceAll(“\\d”,”!”);
System.out.println(str);
4、
//依据空格切开字符串
Stringstr=”我很帅”;
String[]arr=str.split(“”);
for(inti=0;iSystem.out.println(arr[i]);
}
5、注意:.的正则写法有必要为\\.
//依据.切开IP地址
Stringstr=”192.168.11.88″;
String[]arr=str.split(“\\.”);
for(inti=0;iSystem.out.println(arr[i]);
}
所以这些操练题你都学废了嘛
3.常见正则表达式
表达式描绘
^[a-z0-9_-]{3,16}$用户名
^[a-z0-9_-]{6,18}$密码
^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$电子邮箱
[\u4e00-\u9fa5]匹配中文字符的正则表达式
操练:
1、从控制台输入一个字符串。运用正则来对字符串进行一系列操作:
①判别字符串是否是一个合格的用户名
②将字符串中的数字用”#”号代替.数字的正则:[0-9]或许\\d
③依据”#”号将字符串切开成字符串数组并遍历展示
4.正则表达式-参阅附录
参照协助文档,在Pattern类中有正则表达式的的规矩定义,正则表达式中清晰区分大小写字母。我们来学习语法规矩。
4.1规矩
规矩:x
意义:代表的是字符x
例如:匹配规矩为”a”,那么需求匹配的字符串内容便是”a”
规矩:\\\\
意义:代表的是斜线字符’\\’
例如:匹配规矩为”\\\\”,那么需求匹配的字符串内容便是”\\”
规矩:\\t
意义:制表符
例如:匹配规矩为”\\t”,那么对应的效果便是发生一个制表符的空间
规矩:\\n
意义:换行符
例如:匹配规矩为”\\n”,那么对应的效果便是换行,光标在原有方位的下一行
规矩:\\r
意义:回车符
例如:匹配规矩为”\\r”,那么对应的效果便是回车后的效果,光标来到下一行行首
规矩:[abc]
意义:代表的是字符a、b或c
例如:匹配规矩为”[abc]”,那么需求匹配的内容便是字符a,或许字符b,或字符c的一个
规矩:[^abc]
意义:代表的是除了a、b或c以外的任何字符
例如:匹配规矩为”[^abc]”,那么需求匹配的内容便是不是字符a,或许不是字符b,或不是字符
c的恣意一个字符
规矩:[a-zA-Z]
意义:代表的是a到z或A到Z,两端的字母包含在内
例如:匹配规矩为”[a-zA-Z]”,那么需求匹配的是一个大写或许小写字母
规矩:[0-9]
意义:代表的是0到9数字,两端的数字包含在内
例如:匹配规矩为”[0-9]”,那么需求匹配的是一个数字
规矩:[a-zA-Z_0-9]
意义:代表的字母或许数字或许下划线(即单词字符)
例如:匹配规矩为”[a-zA-Z_0-9]”,那么需求匹配的是一个字母或许是一个数字或一个下滑线
规矩:.
意义:代表的是任何字符
例如:匹配规矩为”.”,那么需求匹配的是一个恣意字符。
规矩:\\d
意义:相当于[0-9]。代表的是0到9数字,0和9包含在内。
例如:匹配规矩为”\\d”,那么需求匹配的是一个数字
规矩:\\w
意义:相当于[a-zA-Z_0-9]。代表的字母或许数字或许下划线
例如:匹配规矩为”\\w”,,那么需求匹配的是一个字母或许是一个数字或一个下滑线
4.2鸿沟匹配器(以x最初或结束)
鸿沟匹配器:^
意义:代表以某些内容最初
鸿沟匹配器:$
意义:代表以某些内容结束
鸿沟匹配器:\\b
意义:代表的是单词鸿沟。
注意:不能单独运用,几乎不运用
例如:匹配规矩为”\\b[abc]\\b”,那么代表的是字母a或b或c的左右两边需求的是非单词字符
([a-zA-Z_0-9])
Stringregex=”\\b[a]\\b”;
Stringstr=”a”;
booleanflag=str.matches(regex);
4.3数量词
数量词:X?
意义:代表的是X呈现0~1次
例如:匹配规矩为”a?”,那么需求匹配的内容是一个字符a,或许一个a都没有
数量词:X*
意义:代表的是X呈现次数≥0
例如:匹配规矩为”a*”,那么需求匹配的内容是多个字符a,或许一个a都没有
数量词:X+
意义:代表的是X呈现次数≥1
例如:匹配规矩为”a+”,那么需求匹配的内容是多个字符a,或许一个a
数量词:X{n}
意义:代表的是X呈现次数=n
例如:匹配规矩为”a{3}”,那么需求匹配的内容是3个字符a
数量词:X{n,}
意义:代表的是X呈现至少n次
例如:匹配规矩为”a{3,}”,那么需求匹配的内容是最少有3个字符a
数量词:X{n,m}
意义:代表的是X呈现至少n次,但是不超越m次
例如:匹配规矩为”a{5,8}”,那么需求匹配的内容是有5个字符a到8个字符a之间
4.4逻辑运算符
逻辑运算符:XY
意义:代表的是X后紧跟着Y
例如:匹配规矩为”ab”,那么需求匹配的字符串内容便是”ab”
逻辑运算符:X|Y
意义:代表的是X或Y
例如:匹配规矩为”a|b”,那么需求匹配的字符串内容便是”a”或”b”
逻辑运算符:(X)
意义:代表的是()括号内的数据作为一个全体呈现
例如:匹配规矩为”(hello)+”,那么需求匹配的内容是组内数据要呈现多次,如”hellohellohello”;
或许组内数据呈现一次,如”hello”。
java通俗说是什么
ava是一种高档编程言语。用高档言语编写的程序不能直接在任何计算机上运转。首先,需要将其翻译成特定的机器言语。javac编译器做这件工作,把Java程序(含有的.java文件源代码)转换成机器代码(称为字节码或.class文件)。
Java虚拟机(JVM)是运转在计算机中的虚拟机,而JVM的机器言语是字节码。
JVM的主要功能是执行编译器生成的字节码。每个操作系统具有不同的JVM,但是在执行一切字节代码后,它们在一切操作系统上发生的输出都是相同的。这意味着Windows上生成的字节码能够在MacOS上运转,反之亦然。这就是为什么咱们将Java称为渠道独立言语。
评论前必须登录!
注册