首页后端开发其他后端知识在java里面正确表达式用法是什么呢

在java里面正确表达式用法是什么呢

时间2024-03-27 18:50:03发布访客分类其他后端知识浏览1531
导读:今天这篇给大家分享的知识是“在java里面正确表达式用法是什么呢”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“在java里面正确表达式用法是什么呢”文章能帮助大家解决问题。...
今天这篇给大家分享的知识是“在java里面正确表达式用法是什么呢”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“在java里面正确表达式用法是什么呢”文章能帮助大家解决问题。




java正则表达式用法:1、使用Pattern类进行字符串的拆分,使用的方法是【String[] split(CharSequence input)】;2、使用Matcher类进行字符串的验证和替换。

java正则表达式用法:

正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

*下面是java中正则表达式常用的语法:

字符的取值范围
1.[abc] : 表示可

3.[a-zA-Z]: 表示是英文字母
4.[0-9]:表示是数字

简洁的字符表示
.:匹配任意的字符
\d:表示数字
\D:表示非数字
\s:表示由空字符组成,[ \t\n\r\x\f]
\S:表示由非空字符组成,[^\s]
\w:表示字母、数字、下划线,[a-zA-Z0-9_]
\W:表示不是由字母、数字、下划线组成

数量表达式
1.?: 表示出现0次或1次
2.+: 表示出现1次或多次
3.*: 表示出现0次、1次或多次
4.{
n}
:表示出现n次
5.{
n,m}
:表示出现n~m次
6.{
n,}
    :表示出现n次或n次以上

逻辑表达式
1.XY: 表示X后面跟着Y,这里X和Y分别是正则表达式的一部分
2.X|Y:表示X或Y,比如"food|f"匹配的是foo(d或f),而"(food)|f"匹配的是food或f
3.(X):子表达式,将X看做是一个整体

java中提供了两个类来支持正则表达式的操作
分别是java.util.regex下的Pattern类和Matcher类
使用Pattern类进行字符串的拆分,使用的方法是String[] split(CharSequence input)
使用Matcher类进行字符串的验证和替换,
匹配使用的方法是boolean matches()
替换使用的方法是 String replaceAll(String replacement)

Pattern类的构造方法是私有的
所以我们使用Pattern p = Pattern.compile("a*b");
    进行实例化
Matcher类的实例化依赖Pattern类的对象Matcher m = p.matcher("aaaaab");
    

在实际的开发中,为了方便我们很少直接使用Pattern类或Matcher类,而是使用String类下的方法
验证:boolean matches(String regex)
拆分: String[] split(String regex)
替换: String replaceAll(String regex, String replacement)

下面是正则表达式的简单使用:

1、Test01.java :使用正则表达式使代码变得非常简洁。

 1 package test_regex;

 2 public class Test01 {

 3     public static void main(String[] args){
    
 4         String str = "1234567";
    
 5 //        char[] c = str.toCharArray();
    
 6 //        boolean b = true;

 7 //        for(char c1:c){
    
 8 //            if(!(c1>
    ='0'&
    &
c1='9')){
    
 9 //                b = false;
    
10 //                break;

11 //            }

12 //        }
    
13 //        System.out.println(b);
    
14 
15         String regex = "\\d+";
    
16         System.out.println(str.matches(regex));

17     }

18 }
    

2、TestMatcher01.java(Matcher类的使用,用于字符串的验证)

 1 package test_regex;
    
 2 import java.util.regex.Pattern;
    
 3 import java.util.regex.Matcher;

 4 public class TestMatcher01 {

 5     public static void main(String[] args){
    
 6         String str = "1234567abc";

 7         String regex = "\\w{
10,}
    ";
    
 8 //        Pattern pat = Pattern.compile(regex);
    
 9 //        Matcher mat = pat.matcher(str);
    
10 //        System.out.println(mat.matches());
    
11         System.out.println(str.matches(regex));

12     }

13 }
    

3、TestMatcher02.java(Matcher类的使用,用于字符串的替换)

 1 package test_regex;
    
 2 import java.util.regex.Pattern;
    
 3 import java.util.regex.Matcher;

 4 public class TestMatcher02 {

 5     public static void main(String[] args){
    
 6         String str = "12Y34h56dAd7";
    
 7         String regex = "[a-zA-Z]+";
    
 8 //        Pattern pat = Pattern.compile(regex);
    
 9 //        Matcher mat = pat.matcher(str);
    
10 //        System.out.println(mat.replaceAll(":"));
    
11         System.out.println(str.replaceAll(regex,"-"));

12     }

13 }
    

4、TestPattern01.java(Pattern类的使用,用于字符串的拆分)

 1 package test_regex;
    
 2 import java.util.regex.Pattern;

 3 public class TestPattern01 {

 4     public static void main(String[] args){
    
 5         String str = "Tom:30|Jerry:20|Bob:25";
    
 6         String regex = "\\|";
    
 7 //        Pattern pat = Pattern.compile(regex);
    
 8 //        String[] arr = pat.split(str);
    
 9         String[] arr = str.split(regex);

10         for(String s:arr){
    
11             System.out.println(s);

12         }

13     }

14 }
    

5、TestRegex01.java(大概判断一个邮箱地址是否合法)

 1 package test_regex;

 2 public class TestRegex01 {

 3     //判断一个邮箱地址是否合法
 4     public static void main(String[] args){
    
 5         //这里默认邮箱的后缀是.com或.net.cn
 6         String str = "aa@aa.net.cn";
    
 7         String regex = "\\w+@\\w+\\.(com|net.cn)";
    
 8         System.out.println(str.matches(regex));

 9     }

10 }
    

10 }
    

以上就是关于在java里面正确表达式用法是什么呢的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

java正则表达式

若转载请注明出处: 在java里面正确表达式用法是什么呢
本文地址: https://pptw.com/jishu/654410.html
在java中的object使用方法有什么呢 JavaScript中将Set转为数组的方法是什么

游客 回复需填写必要信息