正则表达式

正则表达式

一直搞不清楚正则表达式,今天终于把它搞明白了

首先来看正则表达式的定义:

正则表达式,又称规则表达式,Regular Expression,所以通常会简写成regex。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

在这里主要说明怎么利用正则表达式对输入的数据格式进行检查

//先声明一个字符串:
String r = "jl1998";
//然后用正则表达式来判断
boolean regex = r.matches("\\p{Lower}\\p{Lower}\\d\\d\\d\\d");
//matches()方法返回为true的话,则该字符符合正则表达式
//还可以用限定符来表示
boolean regex = r.matches("\\p{Lower}{2}\\d{4}");
//利用以下正则表达式可以判断手机号是否合法
boolean regex = r.matches("1[3,5,8]\\d{9}$");
//其中"$“字符是字符串的结尾匹配符

更多的正则表达式用法可查看正则表达式手册

多加练习之后就可以做一下测试题了,如题:判断字符串”mingrikejijavabu“中字符”i“出现了几次,并将结果输出

//不用正则表达式版
//       String s = "mingrikejijavabu";
//       int count = 0;
//       for (int i = 0; i < s.length(); i++) {
//           if (s.charAt(i)=='i')
//           {
//               count++;
//           }
//       }
//       System.out.println(count);

//使用正则表达式版
String s = "mingrikejijavabu";
       int count = 0;

       for (int i = 0; i < s.length(); i++) {
           boolean matches = Pattern.matches("[i]", "" + s.charAt(i));
           if (matches)
          {
               count++;
          }
      }
       System.out.println(count);

两种方法思路不同,都能得出正确的结果

posted @ 2022-03-22 15:47  jiangli001  阅读(31)  评论(0)    收藏  举报