Java正则表达式
介绍
就是通过指定规则去找文本中的字符串,比如我们平常在登录中输入的账号密码是否符合,电子邮箱格式是否正确,正则表达式是一种规则,不是java拥有的,是一个规则,每个语言都可以使用,所以我们要学会怎么使用这些规则,今天我们用java来学习;
规则
我们其实在平常都会有意无意间使用,比如,我们知道的*通配符,我们要找到所有图片
*.jsp
就可以这样使用,我们先学习它的语法:
图片记忆是最好的,从网上找了张图片,我们看下,就都是一些指定的规则,我们只要知道怎么使用,而且日常中常用的几个就可以了:
我们看下java中如何使用:
我们判断这个字符串中是否存在一段字符串:
String str = "320847981273712812fdsafasnkjfs aviapov3;foaur89 uu 8opkpoajrv;ja w";
boolean b = str.matches("32432");
System.out.println(b);
//结果
false
最简单的查找字符串中是否存在32432这个字符串,返回一个布尔值;
或者我们可以这么使用:
// 要验证的字符串
String str = "ABCDEabcdeFGH";
// 验证规则,,\\w指的是字符,,【a-zA-Z0-9】
String regEx = "\\w*abc\\w*";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 字符串是否与正则表达式相匹配
boolean rs = matcher.matches();
System.out.println(rs);
在字符串中拿到自己想要的内容
// 按指定模式在字符串查找
String line = "cat cat cat cattie cat";
String pattern = "\\bcat\\b";
// 创建 Pattern 对象
Pattern r = Pattern.compile(pattern);
// 现在创建 matcher 对象
Matcher m = r.matcher(line);
int count = 0;
while (m.find()) {
count++;
System.out.println(line.substring(m.start(), m.end()));
// System.out.println("Match number " + count);
// System.out.println("start(): " + m.start());
// System.out.println("end(): " + m.end());
}
结果:
这样我们就可以通过正则表达式找到我们想要符合的字符串了;
通过正则表达式找到对应字符串并替换掉
public static void main(String[] args) {
String str = "dfasfdasf31213213fdsafasf3212312321dsafe";
// 将所有数字为替换成love
String all = str.replaceAll("([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])", "love");
System.out.println(all);
// 将匹配到的第一组替换成love
String frist = str.replaceFirst("([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])", "love");
System.out.println(frist);
}
结果:
根据正则表达式拆分
public static void main(String[] args) {
String str = "dfasfdasf31213213fdsafasf3212312321dsafe";
// 切片,最后返回的是字符串数组,通过数字位进行拆分
String[] all = str.split("([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])");
for (String string : all) {
System.out.println(string);
}
}
结果,通过数组划分,拆成若干组:
那这就是java使用正则表达式的操作
正则表达式你可以看懂就行,我们具体到使用的时候,一搜全都有,有在线正则表达生成器,还有各种格式,比如是否符合邮件格式,拿来即用即可,然后修修改改,当然自己多写几个,可以真正理解
java对于正则表达式的基本使用,以及正则表达式的认识就到这里了,希望小伙伴可以支持博主,谢谢三连~