java 正则表达式

来源:互联网 发布:网络有关的电影 编辑:程序博客网 时间:2024/06/16 07:44

 \d [0-9]

\D [^0-9]

\w [A-Z0-9]

\W [^A-Z0-9]

\s [\t\n\t\f]

\S [^\t\n\r\fz]

 

* 出现0-n次

+ 出现1-n次

? 出现0-1次

{n} 出现n次

{n,m} 出现n-m次

 

String regex = "^1[3|4|5|8]{1}\\d{4}0{5}|1{5}|2{5}|3{5}|4{5}|5{5}|6{5}|7{5}|8{5}|9{5}$";
  String code = "13833300000";
  System.out.println(code.matches(regex));
  // 返回结果 true

 

(.)\\n  表示第N个组(一个又叠词)(.)\\n\\n (两个叠词) 常用来替换叠词

$n 可以获取某个叠词组的字符

String aa = "iadskajifaaasdddlfffifeejeeeeffffofeeeelilljjii";aa = aa.replaceAll("(.)\\1+", "$1");System.out.println(aa);

 

String中的matcher方法的实现细节

 

    public boolean matches(String regex) {
        return Pattern.matches(regex, this);
    }

Partern.matches()

public static boolean matches(String regex,                              CharSequence input)
编译给定正则表达式并尝试将给定输入与其匹配。

调用此便捷方法的形式

Pattern.matches(regex, input);
与表达式
Pattern.compile(regex).matcher(input).matches() 
的行为完全相同。

使用正则获取字符串中的某些特定字符的步骤

1、建立正则表达式对象

2、使用正则表达式建立关联一个对象  Pattern.static Patterncompile(String regex)
          将给定的正则表达式编译到模式中。

3、根据Pattern获得匹配引擎

 Matchermatcher(CharSequence input)
          创建匹配给定输入与此模式的匹配器。

根据正则表达式,查找一个字符串中指定的字符

public static void main(String[] args) {String aa = "iad sk aji fa aa sd dd lff fife ej eee eff ffo fe eee li lj ji i";String reg = "[a-z]{3}";Pattern p = Pattern.compile(reg);Matcher m = p.matcher(aa);while (m.find()) {// 查找字指规则的字符串是否存在String str = m.group();// 获取指定规则的字符串System.out.println(str);}


 

 


 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击