栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

小白java200课之44[正则表达式的概念及应用]

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小白java200课之44[正则表达式的概念及应用]

作为日常的复习记录,希望能够对初学java的朋友提供一些帮助。

目录
  • 一、java中的正则表达式
  • 二、实践一下
    • 1、利用正则表达式进行输入整数型验证
    • 2、利用正则表达式进行输入IP地址验证

一、java中的正则表达式

首先,我们查看一下jdk,来看看java中正则表达式的写法。
注意regex属于Pattern类。

我们可以看到在Pattern类中给出了我们正则表达式的典型用法。 如下图
啰嗦的分析一下

 Pattern p = Pattern.compile("a*b");
 
 
 Matcher m = p.matcher("aaaaab");


 boolean b = m.matches();
二、实践一下 1、利用正则表达式进行输入整数型验证

import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class  ValidateInputInt

{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		
		Pattern p = Pattern.compile("[\+\-]?[0-9]+");//第一步:构造正则表达式
		
		//在这里定义为空的对象,在 输入 之后再构造
		Matcher m = null;//第二步:构造Matcher对象
		String str = "";
		boolean isValid = false;
	   
	    // 判断有没有效
		while (!isValid)
		{
			System.out.print("请输入一个十进制整数:");
			//将输入读进来一行
			str = sc.next();

		 //校验,通过则isValid = true ,否则为false
			m = p.matcher(str);
			isValid = m.matches();//第三步:利用matches方法进行完全匹配
		}

		System.out.print("你输入的十进制整数为:" + str);
    }  
}
2、利用正则表达式进行输入IP地址验证

import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class  ValidateInput02

{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);

		Pattern p = Pattern.compile("((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)");
		Matcher m = null;

		String str = "";

		boolean isValid = false;

		while (!isValid)
		{
			System.out.print("请输入一个合法的IP地址:");
			str = sc.next();

			m = p.matcher(str);

			isValid = m.matches();
		}

		System.out.print("你输入IP地址为:" + str);
    }  

}

补充关于转义字符 “” 的概念
由于java中有许多按键是没有符号表示的,比如你的’方向键’,‘回车键’等,那如何在正则表达式中表示他们。比如‘回车键’在正则表达式中为 r (u000D).所以需要转义符的概念。 转义符加d为一个正则表达式,表示所有数字及0-9。那如果我想要的就是’'应该怎么办呢?答案是继续利用 形成 即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号