Java正则表达式(Pattern Matcher)
1.常用正则标记(熟记*)
1.字符(匹配单个字符)
字符标记描述
a匹配字母 "a"
\\转义字符,用于表示特殊字符
\n匹配换行符
\t匹配制表符
2.一组字符(任意匹配里面的单个字符)
正则标记描述[abc]匹配字符中的任意一个,相当于 a 或 b 或 c
[^abc]匹配除了字符中的任意一个字符之外的字符
[a-zA-Z]匹配任意大小写字母
[0-9]匹配任意数字字符
3.边界匹配(在以后编写JavaScript时候会用到)
正则标记描述
^匹配输入字符串的开始位置
$匹配输入字符串的结束位置
4.简写标记(每一位出现的简写标记也知识表示一位)
正则标记描述\d匹配一个数字字符(相当于 [0-9])
\D匹配一个非数字字符(相当于 [^0-9])
\w匹配一个单词字符(字母、数字或下划线,相当于 [a-zA-Z0-9_])
\W匹配一个非单词字符(相当于 [^a-zA-Z0-9_])
\s匹配一个空白字符(空格、制表符、换行符等)
\S匹配一个非空白字符.匹配除换行符之外的任意字符
5.数量表示(前面都表示只有一位,如果要表示多位就要用到数量表示)
正则标记描述
?匹配前面的元素零次或一次(可选)
*匹配前面的元素零次或多次(可重复)
+匹配前面的元素一次或多次(至少一次)
{n}匹配前面的元素恰好 n 次
{n,}匹配前面的元素至少 n 次
{n,m}匹配前面的元素至少 n 次但不超过 m 次
6.逻辑表示与 或 非
正则标记描述
正则表达式A可以是任意合法的正则表达式
正则表达式B可以是任意合法的正则表达式
正则表达式A|B匹配正则表达式A或正则表达式B
(正则表达式)将括号内的正则表达式作为一个组,可以对其进行量词限定等操作

2. 基础案例搭配Sting的常用方法
1.通过String替换(删除非字母与非数字)

2.实现数字拆分
案例要求:一串字符串包含有数字,字母,要求只获取字母并将其存入到字符串数组中。

3.判断一个数据是否为小数

4.判断一个字符串是否由日期组成,如果是则将其转为Date类型

5.验证E-mail格式:

括号在正则表达式中用于分组,它们具有以下作用:
确定匹配的范围:括号可将多个字符组合在一起,形成一个整体。例如,在
(cn|com|com\\.cn|net|gov)中,括号内的内容表示一个选择项,即可以匹配.cn、.com、.com.cn、.net或.gov。控制优先级:括号还可以控制子表达式的优先级。正则表达式按照从左到右的顺序进行解析,括号内的表达式会优先匹配。这对于复杂的正则表达式非常有用,可以确保匹配和分组的顺序符合预期。
提取分组内容:通过使用括号进行分组,可以将匹配到的内容提取出来。在 Java 中,通过正则表达式匹配后,可以使用
Matcher对象的group(int)方法来获取相应分组的内容。

3.正则表达式java.util.regex包支持
由于String类其实停供的正则表达式是比较基础的,要是严格一些则需要用到java.util,regex包的支持,该包有两个核心的功能Pattern类(正则模式)与Macther类(匹配)
以下是两个类常用的方法:
1.Pattern类
方法描述
compile(String regex)将给定的正则表达式编译成一个模式。matches(String regex, CharSequence input)使用给定的正则表达式对输入进行匹配操作,并返回匹配结果。split(CharSequence input)根据给定的正则表达式,将输入拆分为字符串数组,并返回结果。matcher(CharSequence input)创建一个新的匹配器,用于在给定的输入上执行匹配操作。pattern()返回当前模式的字符串表示形式。flags()返回模式的标志,以整数形式返回。
这些方法可以帮助你使用正则表达式进行匹配、拆分和创建匹配器等操作。其中,常用的是
matches、split和matcher方法,它们为常见的正则表达式操作提供了便捷的功能。
2.Matcher类
方法描述
find()尝试在输入序列中查找下一个匹配项,并返回是否找到匹配项。group()返回与前一次匹配操作相匹配的输入子序列。start()返回上次匹配操作的起始索引。end()返回上次匹配操作的结束索引加reset(CharSequence input)重置匹配器,将其设置为新的输入字符序列。replaceAll(String replacement)使用给定的替换字符串替换所有匹配项,并返回替换后的结果。appendReplacement(StringBuffer sb, String replacement)将当前匹配到的内容替换为指定的字符串,并将替换结果追加到给定的StringBuffer对象中。appendTail(StringBuffer sb)将输入序列的其余部分追加到给定的StringBuffer对象
这些方法可以帮助你在使用正则表达式进行匹配操作时,获取匹配结果、替换匹配项和操作输入序列等。其中,常用的是
find、group、replaceAll和appendReplacement方法,它们在实际的正则表达式处理中非常有用。
案例使用:
1.Pattern编译

2.Matcher


Name: John
Surname: Doe
Age: 25

4.练习巩固
给一段HTML代码"<font face="Arial,Serif" size="+2"color="red">"这段代码要求对其内容进行拆分,拆分结果如下:
face Arial,Serif
size +2
color red
思路:首先要对元素标记<font>删除,并且一句每一个属性(使用空格拆分)获取对应的数据内容,可以基于分组形式完成

