java使用正则表达式从一长串字符中获取一段特征字符串

只能说String工具类太强大,导致一直以来,几乎没怎么用到过正则表达式,现在突然要用到,参考正则表达式语法,摸索一上午才搞出来。记录分享一下,以免忘记

从一长串字符中,截取出邀请码,我想很多人都遇到过。

		String s = "邀请您加入随心购,自动搜索淘宝天猫优惠券!先领券,再购物,更划算!\r\n" + 
				"-------------\r\n" + 
				"下载链接:https://dwz.cn/YMZudYNQ\r\n" + 
				"-------------\r\n" + 
				"复制这条∞信息∞4573586∞\r\n" + 
				"打开随心购,注册领取优惠券";
		
		Pattern pa = Pattern.compile("(?<=∞)([A-Za-z0-9]{7})+(?=∞)");
		Matcher ma = pa.matcher(s);
		while (ma.find()) {
		  System.out.println(ma.group(0));
		}

特征为∞4573586∞  两个∞ 符号之间的字符是不固定的,可以是任意数字和大小写字母。

另外,如果是强制匹配完整的特征,比如,就必须要以∞开头和以∞结尾,中间7个任意字符。则又可以用

		String str= "∞4573586∞";
		System.out.println(str.matches("^∞+.{7}∞$"));

^ 以什么开头

$以什么结尾

. 任意非转义字符

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值