正则表达式用法

1、范围的字符类:


[abc],范围中的一个,a或b或c
 
[^abc],取反,除了abc中的一个


[a-z],小写字母中的任何一个


[a-zA-Z],字母中的任何一个


[a-c[m-q]],并集,abcmnopq中的任何一个


[a-c && [b-f]],交集,bc中任何一个


[a-z && [bcd]],交集。bcd中的一个



2、预定义字符类


.  :任何字符


\d :数字,[0-9]


\D :非数字,[^0-9]


\s :空白,空格 回车,换行 \t


\S :非空白,[^\s]


\w :单词字符[a-zA-Z0-9_]


\W :非单词字符,[^\w]



3、量词:指定匹配的次数


x?,零次或1次


x*,零次或多次


x+,一次或多次


x{n},n次


x{n,},至少n次


x{n,m},至少n次,不多于m次



|,或者


\\.,表示.


(),分组


(.)\\1+  :  \1引用第一组的内容


$1  :外部引用第一组的内容


\b:单词的边界

package day_160810_regex;

public class Demo01 {
	public static void main(String[] args) {
	//[abc],范围中的一个,a或b或c
		String regex="[abc]";
		String s="a";
		System.out.println(s.matches(regex));//true
	//举例:qq帐号:5-11位数字
		regex="[1-9]\\d{4,10}";
		s="22243";
		System.out.println(s.matches(regex));//true
	//电话号码的正则法则
		regex="1[345789]\\d{9}";//表示第一位是1第二位在345789中选择一位剩下9位数字随意
		s="18753360900";
		System.out.println(s.matches(regex));//true
	//身份证正则法则
		regex="[1-9]\\d{16}[1-9X]";
		s="21041155568841542X";
		System.out.println(s.matches(regex));//true 
	//邮箱正则法则
		regex="\\w+@\\w+\\.(com|net|org)";
		s="545454was@163.com";
		System.out.println(s.matches(regex));
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值