关键字:正则表达式
正则表达式
符合一定规则的表达式。String类原有的方法,组合操作时很臃肿,正则表达式相对比较简洁。用字母“regex”表示正则表达式。
作用:用于操作字符串。
好处:简化了对字符串的复杂操作。
弊端:符号定义越多,正则越长,阅读性越差。
特点:用一些特定的符号表示代码操作,简化书写。例如,自定义标签。
学习重点是特殊符号的使用。
具体操作功能:
1. 匹配。String类中的matches()方法。匹配的是整个字符串,有一个字符为假,整个字符串即为假。
2. 切割。split(),可以按符号对字符串进行切割。
3. 替换,replaceAll(),
4. 获取,将字符串中符合规则的子串取出。
util包中的Pattern类封装了正则表达式对象。需要导包,java.util.regex.*。
String类中的matches()方法,本质上是通过Pattern对象和Matcher对象中的matches()方法。将其封装进String的matches()方法,但功能比较单一。replaceAll()也是一样。
Matcher类中的方法:
find(),将规则作用到字符串上,并进行符合规则的子串查找。
group(),用于获取匹配后的结果。
边界匹配器,单词边界:\b。例如,String regex = "\\b[a-z]{4}\\b";,表示一个长度为4的单词。
start()和end(),获得子串的起始、终结的角标位。含头不含尾。可以用于切割,只保留角标位以外的字符。
Matcher对象中封装有指针,会记住所处的位置,使用时注意指针的位置可能不是字符串起始位。
正则使用方法:
1.如果只想知道该字符串是对是错,使用匹配。
2. 想要将已有的字符串变成另一个字符串,使用替换。
3. 想要按照自定义方式将字符串变成多个字符串,使用切割。获取规则以外的字符串。
4. 想要获得符合要求的字符串的子串,使用获取,获取符合规则的子串。
网页爬虫(蜘蛛)