12.3正则表达式

正则表达式

使用特定的符号来描述该字符串的一种方法。是一个字符串模板,本身也是一个字符串
正则表达式常用的代码
. 可以匹配换行符以外的任意字符
\w 可以匹配任意的数字或者字母
\d 可以匹配任意的数字
\s 一颗匹配任意的空格
^ 代表字符串的开始
$ 代表字符串的结束

^\w{5}$	代表匹配的字符串要以数字或者字母开始,或者以数字或者字母结尾,必须匹配五个
^\w{3}\d{2}$ 数字或者字母开始三位、以数字结尾2位
^\s{0,3}\d{2}$	以0到3个空格开始,2个数字结尾

正则表达式匹配次数
*表示可以匹配0次或者多次 {0,}
+可以匹配一次或者多次 {1,}
?可以匹配0次或者1次 {0,1}
{n}只能匹配n次
{n,}至少匹配n次
{n,m}至少匹配n次,最多m次
[]代表可以从中间匹配任意的一个内容,也可以匹配多个

分组
某一段表达式需要重复多次,这个就需要分组,()包含起来的表达式,分成一个组。这个组可以统一量词。
电话号码:028 - 8位 0817 -7位
^(\d{3}-\d{8})|(\d{4}-\d{7})$
转义的内容

www.baidu.com
	^(www\.)[a-z0-9]{1,}.(com|cn|gz)$ 
	"\."转义成普通字符 实际编译"\"需要转义成"\\"
	public static void main(String[] args) {
		String password = "123678";
		String regex ="^\\d{6}$";
		String regex2 ="^[0-9]{6}$";
		System.out.println(password.matches(regex2));
	
	String name = "3";
	System.out.println(name.matches("^[0-9a-zA-Z_]+$"));
	
	String name2 = "ui测";
	System.out.println(name2.matches("^[a-z\u4e00-\u9fa5]{4,}$"));
	
	String name3 = "www.baidu.com.cn";
	System.out.println(name3.matches("^(www\\.)[a-z0-9]+\\.(com|cn|gz|org|top)$"));
	
	String name4 = "15390012345";
	System.out.println(name4.matches("^(13[0-9]|15[0-35-9]|18[0-9])\\d{8}$"));
	
	String name5 = "abc    yuyu   kio iiiiiii";
	String[] array = name5.split("\\s+");
	for (String string : array) {
		System.out.println(string);
	}
	
	String name6 = "xiaowang-x556iaozhang*xiaofe777ifei-xia444oliu%";
	name6 = name6.replaceAll("\\d+", "!!");
	System.out.println(name6);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值