JAVA基础语法——API是什么——正则表达式

来源:互联网 发布:windows pyqt5 教程 编辑:程序博客网 时间:2024/05/24 05:11

正则表达式

就是用操作字符串数据的规则表达式

规则:就是用一些符号组成,每个符号都代表着特有的含义。

其实这些符号相当于对应着底层一段代码。对外提供符号是简化了操作。

弊端:必须要先学习这些符号。符号多了,阅读性就会较差。


正则表达式对字符串的常见操作

匹配:

使用的是String类中的matches方法

切割:

使用的是String类中的Split方法。

替换:

使用的是String类中的replaceAll方法。

获取:

将匹配的规则的内容获取出来。

使用到正则表达式对象 Pattern

使用步骤:

1、先将正则表达式编译成Pattern对象。

2、通过Pattern对象的matcher方法获取Matcher匹配器对象。

3、通过匹配器对象的方法,将正则规则作用到字符串上以便于操作。


例题

1、检查邮件地址是否合法。

public class Test{public static void main(String[] args){checkMail();}/* * 检查邮件地址是否合法 * 规则: * 12344@qq.com * mahahd@163.com * sdhas@sina.com * woeidsf@yahoo.com.cn * @:前   数字字母 _  个数不少于1个 * @:后  数字字母  个数不少于1个 * .:后面 字母 */public static void checkMail(){String email="absc123@sina.com";boolean b=email.matches("[a-zA-Z0-9]+@[a-z0-9]+(\\.[a-z]+)+");System.out.println(b);}}

2、对字符串进行切割

public class Test{public static void main(String[] args) {splitTest();}/* * String 类方法 split 对字符串进行切割 192.168.106.25 按照 .点 切割字符串 */public static void splitTest() {String ip = "192.168.106.25";String[] strArr = ip.split("\\.+");for (int i = 0; i < strArr.length; i++) {System.out.println(strArr[i]);}}}

3、替换

public class Test{public static void main(String[] args) {replaceAllTest();}/* * "Hello12342WOrld70897"将所有的数组替换掉 String类方法replaceAll(正则规则,替换后的新字符串) */public static void replaceAllTest() {String str = "Hello12342WOrld70897";str = str.replaceAll("[\\d]+", "#");System.out.println(str);}}


0 0