正则表达式
(一):概念
- 通俗的说,就是一个字符串。是一个规则,表示一类字符串的规则或格式。
- 好处:简化代码,可以用很少的代码起到很大的作用
- 坏处:容易出错
(二):正则表达式规则
- 普通的字符串本身就是一个正则表达式,但是它只能表达它自己本身,无法表示一类。
- 预定义字符类和[]里的都是表达一个字符,无论里面写了多少内容,都只能表示一个字符。
- []内中的表达规则
-、 [abc]:表示a、b、c中的其中一个字符
-、 [^abc]:表示除了a、b、c的任意一个字符
[a-zA-z]: 表示a到z和A到Z中的任意一个字符
(三):预定义字符
概念:有一些字符类型经常使用,所以就提前在正则表达式中提前预定义
列如:
- . 表示任意字符,\\. 表示一个确定的 **.**字符串
- \d 表示数字字符0到9,包括0和9
- \D 表示非数字符。除了0到9的所有字符
- \s 表示空格字符
- \S 表示非空格字符
- \w 表示单词字符[a-zA-Z0-9],a到z,A到Z和0到9的任意一个字符
- \W 表示非单词字符,也就是\w的反面
这里分享\s一个小的记忆技巧:\d表示数字字符,而单词digital就是数字的意思。\s表示空格,space就是有空间,空格的含义。\w表示单词字符,word就是单词的意思。所以这些都是取了它们的首字母
(四)数量词规则
- 模糊数量词
X:任意字符
X? 表示在X这个字符出现了一次或者零次
X+ 表示X这个字符出现了一次或者多次
X* 表示X这个字符出现了零次,一次或者多次 - 精确数量词
X{n} 表示X出现刚好n次
X{n,} 表示X至少出现了n次
X{n,m} 表示X出现了n到m次,包括n和m次
最后提供与regex正则表达式有关的方法
- matches(String regex) 判断当前字符串是否和regex中的规则匹配,返回一个boolean值
- split(String regex) 将字符串按照指定的regex规则分割,该方法返回一个被切割后的字符串数组
- replaceAll(String regex,String replacement) 将当前字符串中符合regex正则表达式的字符全部用replacement字符串取代,返回一个取代后的新字符串。
在这里要提醒一点,如果操作字符串,应该定义一个新字符串变量去把这些操作结果接住。