正则表达式

java当中常用的正则表达式

在javaSE阶段需要学到的一些正则表达式

java.util.regex

在java早期的时代(jdk1.3及以前),如果要想在项目中引入正则表达式,那么就需要采用Apache所提供的第三方组件包来完成,从jdk1.4开始java正式引入正则表达式,并且修改了String类的定义(可以通过字符串直接进行正则的处理操作)
在jdk1.4之后提供有一个专属的正则开发包:java.util.regex,此包中提供了两个核心类

  1. Matcher类通过解释Pattern对character sequence执行【匹配】操作的引擎。
  2. Pattern类则是对正则表达式的【编译】表示。

单个字符的匹配(未加入任何量词描述,只表示一位)

1. x:表示一位任意的字符
2. \:匹配任意的一位""(与java当中的转义字符相通)"\\"正确的字符串的描述定义是“\”,变为正则的匹配那么最后转换为“\”
3. \t:匹配制表符(java中的转义字符)
4. \n:换行(同上,java转义)

字符范围(未加入任何量词描述,只表示一位)

1. [abc]:匹配的是字母“a”,“b”,“c”中的任意一位
2. [^abc]:匹配的字母不是“a”,“b”,“c”中的任意一位
3.[a-zA-Z]:匹配所有字母不区分大小写,可以拆分为[a-z],[A-Z]
4. [0-9]:匹配所有的数字信息

简化表达式(未加入任何量词描述,只表示一位)

  1. .:表示任意的字符
  2. \d :匹配任意的一位数字,等价于[0-9]
  3. \D :匹配任意的一位非数字,等价于[^0-9]
  4. \s:匹配任意的空格,等价于[\f\n\x0B\f\r]
  5. \S:匹配任意的非空格等价于[^\s]
  6. \w:匹配字母(不分大小写),数字,下划线等价于[a-zA-Z_0-9]
  7. \W:匹配非字母(不分大小写),数字,下划线等价于[^a-zA-Z_0-9]

边界匹配

  1. ^:匹配开始位置
  2. $:匹配结束位置

数量表达式(所有的表达式只有与数量相匹配之后才可以描述多个字符)

  1. 正则表达式?:表示该正则表达式出现0次或者1次
  2. 正则表达式*:表示该正则表达式出现0,1或者多次
  3. 正则表达式+:表示该正则表达式出现1次或者多次
  4. 正则表达式{n}:表示该正则表达式出现n次
  5. 正则表达式{n,}:表示该正则表达式出现n次及以上
  6. 正则表达式{n,m}:表示该正则表达式出现n次到m次

逻辑运算(可以连接多个正则表达式)

  1. 正则表达式A正则表达式B:在A正则之后紧跟B正则
  2. 正则表达式A | 正则表达式B:两个正则二选一
  3. (正则):将多个正则表达式作为一组出现,这样可以为整个的正则组再继续定义量词

写在最后

一个平平无奇的大一新生,花了两天的时间整理了这些在java的基础阶段需要学习到的关于正则表达式的正则标记,如果有不足的地方请指正,因为喜欢编程所以就写了这一些东西,第一次写文章所以有的地方概括的不是很好,希望大家多多包涵,也请前辈们多多指教,往后一定更加努力把自己所学的东西分享给所有喜欢编程的朋友们,大家一起加油!!!

你可能感兴趣的:(正则表达式,字符串,regex,javase)