API初学基础总结

正则表达式

基本规则

/*

  • 汉字的起始编码:"\u4e00"
  • 汉字的截止编码:"\u9fa5"
  • 正则表达式:用一组特殊的字符描述的一个特殊的格式-类似于公式
  • 作用:匹配一个字符串是否满足格式要求
  • []表示一个字符,这个字符是方括号中的字符。[abc]为其中的a或b或c
  • []不能是框中的字符,能表示的是除框中的字符[abc]除abc以外的元素
  • [-]是一个字符到另一个字符的范围,[a-z]从a到z
  • 除去一个部分[ad-z]除去bc
  • 预定义字符集:
  • . 任意一个字符
  • \d 任意一个数字字符[0-9]
  • \w 单词字符[a-zA-Z0-9]
  • \s 空白字符[\t\n\x0B\f\r]
  • \D 非数字字符
  • \W 非单词字符
  • 数量词见表格
  • 全字符匹配:1$
  • 正则表达式只关心格式是否正确不关心内容是否有效
    */
public class Demo {
public static void main(String[] args){
    for (char c = '\u4e00', i = 0;c <= '\u9fa5'; c++,i++){
   	 System.out.println(c);
   	 if(i%50==0){
   		 System.out.println();//换行
   	 }
    } 
}
}

在这里插入图片描述

正则表达式的应用

字符串支持正则表达式的方法
1:匹配格式

public static void main(String[] args){
		/*
		 * 邮箱地址
		 * [a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9]+)+
		 */
		String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9]+)+";
		//"/"的地方在里面要+/
		//转义字符间的冲突
		System.out.println(regex);
		//输出[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9]+)+
		
		String mail = "dacsac@dcdvd.com.cn";
		/*
		 * boolean matches(String regex)
		 * 使用给定的正则表达式验证当前字符串是否满足格式要求
		 * 满足返回true
		 */
		boolean match = mail.matches(regex);
		if(match){
			System.out.println("是邮箱");
		}else{
			System.out.println("不是邮箱");
		}
		//主义match是全匹配自己加上^
		//要想部分匹配手动加上.*任意部分匹配
	}

2.身份证号验证

/*
		 * 先写归纳相同点:
		 * 先是一个15位,后面加一个可有可无的3位用结尾'?'表示,其中最后一位是数字或x
		 * \d{15}(\d{2}[0-9xX])?
		 * 注意'\'的使用在使用时需要多加'\'
		 */
		String regex = "\\d{15}(\\d{2}[0-9xX])?";
		String id = "112155598766123587";
		if(id.matches(regex)){
			System.out.println("是身份证号");
		}else{
			System.out.println("不是身份证号");
		}

	}

3.String split(String regex)

  • 将字符串中满足正则表达式的部分拆分
 `	String str = "boss,jack,marry,jackson";
		String [] array = str.split(",");
		for(int i = 0;i < array.length;i++){
			System.out.println(array[i]);
			//split拆分的后面部分的空字符串是不算数的
		}`

将字符串中满足正则表达式的部分替换为指定内容

  • String replaceAll(String regex,String replace)**
String str = "abc123sdab4543dvafvfvf888vfv8fv8";
		str = str.replaceAll("\\d+", "#num#");
		System.out.println(str);
		//输出结果:abc#num#sdab#num#dvafvfvf#num#vfv#num#fv#num
	}

  1. ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值