正则表达式学习:
1.正常步骤:
例:提取文章中所有的英文单词
//先创建一个Pattern对象 , 模式对象, 可以理解成就是一个正则表达式对象
Pattern pattern = Pattern.compile(“[a-zA-Z]+”);
//创建一个匹配器对象去匹配
Matcher matcher = pattern.matcher(str);
//匹配器去寻找目标格式:找到返回true,找不到返回false
while (matcher.find()) {
//发现目标去打印对应的目标值
System.out.println("找到 " + matcher.group(0));
}
2.学习正则表达式,必须掌握他的语法。也就是掌握各种元字符的功能
元字符分类:
转义符、限定符、选择匹配符、分组组合和反向字符、特殊字符、字符匹配符、定位符;
1》转义符:在java正则表达式中,转义符由俩个\表示,其他可能是一个\表示
用正则表达式去检索特殊的字符时,就需要加上转义符去匹配,否则会找不到结果,甚至报错
备注:需要用到转移符号的字符有以下:. * + ( ) $ / \ ? [ ] ^ { }
2》字符匹配符:[] [^] - . \d \D \w \W \s \S
备注:java正则表达式默认是区分字母大小写的,如何实现不区分大小写
(?i)abc:表示abc都不区分大小写
a(?i)bc:表示bc不区分大小写
a((?i)b)c:表示只有b不区分大小写
+Pattern pat = Pattren.compile(regEX,Pattern.CASE_INSENSITIVE);
3》选择匹配符:|
选择字符串有可选性,例如:ab|cd 即可以匹配ab也可以匹配cd
4》限定符:* + ? {n} {n,} {n,m}
用于指定前面的字符和组合项连续出现多少次
备注:当限定符出现在 [] 里面时,就不表示是限定符,就是符号使用
5》定位符:^ $ \b \B
规定要匹配的字符串出现的位置,比如在字符串的开始还是在结束的位置
3.反向引用:
可以解决例如:1》匹配5225、3663
2》“我…我要…学学学学…编程java!” 过滤重复字
4.可以用String类中使用正则表达式
1》replaceAll(String regex,String replacement);
2》matches(String regex);
3》split();
正则表达式笔记
最新推荐文章于 2024-09-02 10:25:53 发布