(正则表达式)常用的正则标记
程序员文章站
2024-01-20 17:04:58
...
常用的正则标记
如果要想进行正则的处理操作,那么首先需要对常用的正则标记有所掌握,从JDK1.4开始提供有java.util.regex开发包。这个包里面提供了Peattern程序类,在这个程序类里面定义有所有支持的正则标记。
【数量:单个】
- 字符匹配
任意字符:表示由任意字符组成
public class 认识正则表达式 { public static void main(String[] args) { String str = "a"; //要判断的数据 String regex = "a"; //正则表达式 System.out.println(str.matches(regex)); //true } }
- \\:匹配"\"
- \n:匹配换行
- \t:匹配制表符
【数量:单个】字符集(可以从里面任选一个字符)
- [abc]:表示可能是字母abc中的任意一个
- [^abc]:表示不是abc中的任意一个
- [a-zA-Z]:表示由一个任意字母所组成,不区分大写小
public static void main(String[] args) { String strA = "a"; //要判断的数据 String strB = "1"; //要判断的数据 String regex = "[a-z A-Z]"; //正则表达式 System.out.println(strA.matches(regex)); //true System.out.println(strB.matches(regex)); //false }
- [0-9]:表示由任意一个数字组成
【数量:单个】简化字符集
- . :表示任意的一个字符
- \d:等价于"[0-9]"范围
- \D:等价于"[^0-9]"范围
- \s:匹配任意的空格,可能是空格、换行、制表符
- \S:匹配任意的非空格数据
- \w:匹配字母、数字、下划线,等价于[a-zA-Z_0-9]
- \W:匹配非字母、数字、下划线,等价于[^a-zA-Z_0-9]
边界匹配
- ^:匹配边界开始
- $:匹配边界结束
数量表达,默认情况下只有添加上了数量单位才可以匹配多位字符
- ?:该正则可以出现0次或1次
- *:该正则可以出现0次、0次或多次
- +:该正则可以出现一次或多次
public static void main(String[] args) { String strA = "asdfsd"; //要判断的数据 String regex = "[a-z A-Z]+"; //是字母,并且出现一次或以上 System.out.println(strA.matches(regex)); //true }
- {n}:表达式的长度正好为n次
- {n,}:表达式的长度为n次以上
- {n,m}:表达式的长度在n-m次
public static void main(String[] args) { String strA = "asdfsd"; //要判断的数据 String regex = "[a-z A-Z]{0,10}"; //是字母,并且出现0到10次 System.out.println(strA.matches(regex)); //true }
逻辑表达式:连接多个正则
- XY:X表示式之后紧跟Y表达式
public static void main(String[] args) { String strA = "as"; //要判断的数据 String regex = "as"; //a后面紧跟着s System.out.println(strA.matches(regex)); //true }
- X|Y:表达式X、Y中有一个满足即可
- (表达式):为表达式设置一个整体描述,可以为整体描述设置数量单位
上一篇: Annotation与工厂设计模式
下一篇: 设计模式系列 - 简单工厂模式