【Java基础】正则表达式

常见规则

(1)字符

   x 字符 x 举例:'a'表示字符a
   \\ 反斜线字符
   \n 新行(换行)符 ('\u000A') 
   \r 回车符 ('\u000D')   

(2)字符类

   [abc] a、b 或 c(简单类) 
   [^abc] 任何字符,除了 a、b 或 c(否定) 
   [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) 
   [0-9] 09的字符都包括   

(3)预定义字符类

   . 任何字符  \.表示.字符
   \d 数字:[0-9]
   \w 单词字符:[a-zA-Z_0-9]
    在正则表达式里面组成单词的东西必须有这些东西组成  

(4)边界匹配器

   ^ 行的开头 
   $ 行的结尾 
   \b 单词边界
    就是不是单词字符的地方
    举例:hello world?haha;xixi   

(5)Greedy 数量词

   X? X,一次或一次也没有
   X* X,零次或多次
   X+ X,一次或多次
   X{n} X,恰好 n 次 
   X{n,} X,至少 n 次 
   X{n,m} X,至少 n 次,但是不超过 m 次 

常见功能

判断功能
   String类的public boolean matches(String regex)
分割功能
   String类的public String[] split(String regex)
替换功能
   String类的public String replaceAll(String regex,String replacement)
获取功能
   Pattern和Matcher
   Pattern p = Pattern.compile("a*b");
   Matcher m = p.matcher("aaaaab");
       
find():查找存不存在
group():获取刚才查找过的数据

常见案例

(1)判断电话号码和邮箱
(2)按照不同的规则分割数据
(3)把论坛中的数字替换为*
(4)获取字符串中由3个字符组成的单词

发布了75 篇原创文章 · 获赞 49 · 访问量 3472
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览