正则表达式

正则表达式的使用场景

正则表达式使用场景:

  • 进行格式的匹配验证,即检测你的输入是否符合格式要求
  • 进行字符串的修改,如分开,替换,提取符合正则表达式的字符串
什么是正则表达式

狭隘的说,正则表达式可以理解成一个特殊的字符串,该字符串定义了对数据的格式要求。

怎么写正则表达式

灵活组合下面的字符,可以组成正则表达式

"\\d"           //该正则表达式表示必须只有一个数字,注意是“一个“
"\\w"           //该正则表达式表示必须只有一个字母/数字/下划线,加上+号,不限数量
"\\W"           //该正则表达式表示非,必须不是一个字母/数字/下划线,\\D也是如此
"[a-zA-Z0-9]"   //该正则表达式表示可以是一个英文字母或0-9中的一个数字
"\\w+{2,3}"     //该正则表达式表示可以是2个或3个字母/数字/下划线
"+"             //该正则表达式表示一个或多个
"?"             //该正则表达式表示一个0个
"\\"            //该正则表达式表示必须是一个/字符
"\\s"           //该正则表达式表示必须是一个空格/换行符/制表符
"."             //该正则表达式表示任意一个字符
"*"             //该正则表达式表示0个或多个
" | "           //该正则表达式表示或,左右两边的正则表达式满足其中一个
"^ $"           //^匹配输入字符串开始的位置,$匹配输入字符串结束的位置
验证邮箱是否有效
import java.util.Scanner;

public class Demo1 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		String regex = "[a-zA-z0-9]\\w+@\\w+{2,3}\\.(com|cn|gov)";
		System.out.println(str.matches(regex));
	}
}
正则表达式类

java.util.regex包下有三个类,Pattern 负责正则表达式的编译,Matcher负责具体的执行,PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误

将字符串中的#{…}的部分取出,并且删去# { }这三个字符
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo1 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		String regex = "#\\{\\w+\\}";
		Pattern pn = Pattern.compile(regex);
		Matcher mr = pn.matcher(str);
		while(mr.find()) {
			System.out.println(mr.group().replaceAll("#\\{|\\}", ""));
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值