黑马程序员——Java 基础 正则表达式(复习)
来源:互联网 发布:mac无法登录app store 编辑:程序博客网 时间:2024/05/18 02:10
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、理解正则表达式
1.什么是正则表达式?
可以简单的理解为符合一定规则的表达式。
2.正则表达式能干什么?
正则表达式专门用来操作字符串。简化对字符串的复杂操作。
正则表达式是用一些特定的符号来表示一些代码操作
先看一个代码示例:对邮箱格式进行校验
import java.util.*;class RegexTest {public static void main(String[] args) {checkMail();}/*需求:对邮件地址进行校验。*/public static void checkMail(){String mail = "abc12@sina.com";mail = "1@1.1";String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//较为精确的匹配。System.out.println(mail.matches(reg));}}
可以看到我们学习正则表达式regex,就是学习一些特定的符号的使用。
3.正则表达式有哪些特殊的符号呢?
正则表达式常用构造摘要
4.正则表达式的具体功能
(1)匹配
通过String类中的 boolean matches(regex); 方法,如果返回为true 表示符合规则,反之则不符合规则。
(2)切割
通过String类中的 String[ ] Split(regex); 方法,返回一个String数组。
(3)替换
通过String replaceAll(regex,replacement) 将一个字符串中符合规则的部分,用新的字符串(replacement) 来替换掉。
(4)获取:将字符串中符合规则的子串取出
操作步骤:
1)将正则表达式封装成对象
2)让正则对象与要操作的字符串相关联
3)关联后,获取正则匹配引擎
4)通过引擎对符合规则的子串进行操作,比如取出。
注意:正则表达式中“组”的概念:组 用()表示,当有叠词时可以使用。
例如:叠词 kk 用表达式可以表示为 “(.)\\1”
$符号:可以获取前一个规则中的组。
5.如何将正则表达式封装成对象?
Pattern 类:可以描述正则表达式规则。该类无构造方法,不能new对象。
(1)那么如何来将规则封装成对象呢?
可以通过static compile(String reg);方法。该方法将给定的正则表达式编译到模式中。而且该方法时静态的,可以被类名直接调用,返回的是一个Pattern类型对象。
例: Pattern p = pattern.compile(reg);
(2)让正则对象和要操作的字符串相关联,获取匹配器对象。
Matcher m = p.matcher(str); 其中matcher 就是匹配器或者成为引擎。
其实,String类中的matches方法,用的就是Pattern和Matcher对象来完成的。只不过被String 的方法封装后,用起来较为简单,但是功能单一。
m.find(); 将规则作用到字符串上,并进行符合规则的字符串查找,返回值是boolean类型的。
m.group(); 获取匹配后的结果。
6.正则表达式的利弊
好处:可以简化对字符串的复杂操作
弊端:符号定义的越多,正则越长,阅读性越差
7.如何确定用四种功能中的哪一个?或哪几个呢?
思路:
(1)如果只想知道该字符串是对是错,使用匹配
(2)如果想要将已有的字符串变成另一个字符串,使用替换
(3)如果想要按照自定义的方式将字符串变成多个字符串,使用切割。切割:获取规则以外的子串
(4)如果想要拿到符合要求的字符串子串,使用获取。获取:获取符合规则的子串
- 黑马程序员——Java 基础 正则表达式(复习)
- 黑马程序员——Java基础---正则表达式--(冲刺复习知识补充)
- 黑马程序员--JAVA基础复习之正则表达式
- Java基础---正则表达式 (黑马程序员)
- 黑马程序员——java基础——正则表达式
- 黑马程序员——java基础——正则表达式
- 黑马程序员——java基础——正则表达式
- 黑马程序员——java基础——正则表达式
- 黑马程序员——java基础——正则表达式
- 黑马程序员——Java基础—正则表达式
- 黑马程序员——Java基础---正则表达式
- 黑马程序员-Java基础总结14——正则表达式
- 黑马程序员——Java基础-15--正则表达式
- 黑马程序员——Java基础---正则表达式
- 黑马程序员——java基础:正则表达式
- 黑马程序员——Java基础---正则表达式
- 黑马程序员——java基础--正则表达式
- 黑马程序员——Java基础-----正则表达式
- ueditor配置
- Windows下获取精确的时间差
- Xamarin IOS SearchBar 文本框设置
- vim 主题(colorsheme)
- 面向对象的三大特征
- 黑马程序员——Java 基础 正则表达式(复习)
- Scala学习第七天 Scala类的属性和对象私有字段实战详解
- 机器学习实践 学习笔记4 naïve Bayes
- 通过一个实例来学习进程间通信之----共享内存,以及使用信号量来保护
- HDU-1879 继续畅通工程
- 【计算机网络】三次握手和四次挥手
- Xamarin iOS+MvvmCross TableCell add Button
- JAVA 反射练习 打印指定类名的所有信息
- js jquery版本的 金额千分位转换函数(非正则,效率极高)