Java学习笔记(24)——正则表达式

这里将自己学习java及其应用的一些笔记、积累分享一下,如果涉及到了文章、文字侵权,请联系我删除或调整。


一、正则表达式

1.1 概述

  • Regular Expression 规则表达式

确的字符串格式规2019/3/12

  • 一般用来判断用户输入的字符串,是否符合格式要求
  • 无需记忆,可自行某搜索引擎检索“正则表达式大全”

1.2 常见用法

字符串的正则表达式匹配运算方法

  • matches(正则)

当前字符串,是否能与指定的正则表达式相匹配

  • split(正则)

"abc,def,ghi"

["abc", "def", "ghi"]

  • replaceAll(正则,子串)

​​​​​​​​​​​​​​1.3 练习:正则表达式

package 正则表达式;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		System.out.println("--------------------------");
//		f1(); // 身份证号校验

		System.out.println("--------------------------");
		f2();  // 电话号校验
	}

	private static void f2() {

		System.out.println("请输入固定电话号:");
		String s = new Scanner(System.in).nextLine();
		/*
		 *	7位			\d{7-8}
		 *	8位		 	\d{7-8}	// []不指定数量,必须且有且只匹配1个 
		 * 	区号+7或8位	010-1234567 	(\d{3,4}-|\(\d{3,4}\))?\d{7,8}
		 *	区号+7或8位	0101-1234567
		 * 	\(是正则表达式语法格式,不是Java语法格式
		 * 
		 * 	(\d{3,4}-|\(\d{3,4}\))?\d{7,8}
		 * 	?前,匹配一个3或4位的区号;
		 * 	?后,匹配一个7或8位的电话号
		 */
		// 判断输入格式
		String regex = "\\d{7,8}|(\\d{3,4}-|\\(\\d{3,4}\\))?\\d{7,8}";
		if(s.matches(regex)) {
			System.out.println("格式正确!");
		}else {
			System.out.println("格式错误!");
		}
	}

	private static void f1() {
		System.out.println("请输入与身份证号:");
		String s = new Scanner(System.in).nextLine();
		/*
		 *	旧身份证15位		\d{15}
		 *	新身份证18位,末尾可以为X,x \d{17}[\dXx]	// []不指定数量,必须且有且只匹配1个 
		 * 	两个匹配条件,用|
		 * 	在字符串中,因为\为转移字符,所以都要双写
		 */
		// 判断输入格式
		String regex = "\\d{15}|\\d{17}[\\dXx]";
		/*正则表达式的书写一定要小心,不能再表达式中随意添加空格,会影响表达式的判断,最好紧挨着连续写*/
		if(s.matches(regex)) {
			System.out.println("格式正确!");
		}else {
			System.out.println("格式错误!");
		}
	}
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值