正则表达式

正则是自定义一个表达式作为规则,然后一段文字去判断是否匹配这个表达式。

表达式组成:

一、字符内容

[ ] :可以是这里面的任何字符,比如[abc],     [A-Z]  :   "-"表示区间范围,从A到Z

 “^”表示取反,对后面的字符生效

\d:数字。  \D: 非数字,也就是 [^\\d]。在java程序中,要转义为"\\d"

“.” 表示任意字符。  “\.”表示“.”  。 

“[A-z]”表示所有的大小写字母  。  [^A-z0-9]:表示非字母数字的字符,比如空格,符号等。

[ _ ^A-z0-9] : "\w"表示:下划线和[^A-z0-9] 。"\W":即“^\w” 。这些转义字符,大写字母的,是对小写字母的取反。

\S  表示:空格、tab、回车

二、数量

{ } : 表示前面的定义的字符出现的次数,比如{5}

* :任意次

+ :>0次, 即:{1,}  至少一次

?:0或1次,即{0,1} 逗号表示“或”

例子:[0-9]

     [0-9]{1,2}

     [0-9]+bc   :加号修饰[0-9]出现的次数。

     [^0-9]bc    :  非数字和bc拼接

三、使用正则表达式,查找匹配字符串

使用java提供的Pattern和Matcher对象

例子:

 1 Pattern p=Pattern.compile("@\\w+\\s");
 2 
 3 String str="@tom @lucy 这是我的电子邮件,给我发邮件吧!abc@126.com";
 4 
 5 Match m=p.matcher(str);
 6 
 7 while(m.find()){
 8 
 9   System.out.println(m.group);  //m.group()返回匹配的字符串
10 }

打印结果:

@tom

@lucy

posted @ 2019-04-08 13:00  夏天的尾巴%  阅读(141)  评论(0编辑  收藏  举报