• BigData09 正则表达式及应用 compareTo源码分析和应用


    1.正则表达式

     1 /*
     2  * 邮箱验证
     3  * x_xx@scs.com.cn
     4  * abc@df.com
     5  * a|b a或者b
     6  * X?  X一次或一次也没有 
     7  * X*  X零次或多次 
     8  * X+  X一次或多次 
     9  * X{n,}  X至少 n 次 
    10  * ^ 行的开头  $ 行的结尾 
    11  */
    12 import java.util.regex.Matcher;
    13 import java.util.regex.Pattern;
    14 
    15 public class Demo{
    16     public static void main(String args[]) {
    17         String str = "sian_aax@qq.com.cn";
    18         String pattern = "^([a-z0-9A-Z]+[_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(_[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
    19 
    20         Pattern r = Pattern.compile(pattern);
    21         Matcher m = r.matcher(str);
    22         System.out.println(m.matches());
    23     }
    24 }
    25     
    正则表达式_邮箱验证
     1 /*
     2  * \b 单词边界 
     3  * \w 单词字符:[a-zA-Z_0-9] 
     4  * X{n} X,恰好 n 次 
     5  */
     6 import java.util.regex.Matcher;
     7 import java.util.regex.Pattern;
     8 
     9 public class PatternDemo2 {
    10     public static void main(String[] args) {
    11         String s = "The Java language provides special support for the string "+
    12   "concatenation operator ( + ), and for conversion of"+
    13   "other objects to strings. String concatenation is implemented"+
    14   "through the {@code StringBuilder}(or {@code StringBuffer})";
    15  
    16         //获取所有两个字符的单词
    17         Pattern p = Pattern.compile("\\b\\w{3}\\b");
    18         //返回一个字符串的匹配器对象
    19         Matcher m = p.matcher(s);
    20         
    21 /*        boolean b1 = m.find();
    22         if(b1){
    23             String str = m.group();
    24             System.out.println(str);
    25         }
    26         
    27         b1 = m.find();
    28         if(b1){
    29             String str = m.group();
    30             System.out.println(str);
    31         }
    32 
    33         b1 = m.find();
    34         if(b1){
    35             String str = m.group();
    36             System.out.println(str);
    37         }*/
    38         
    39         while(m.find()){
    40             System.out.println(m.group());
    41         }    
    42     }
    43 }
    利用正则表达式找出一段文字的3个字母单词
     1 /*
     2  * 切割功能使用正则表达式:
     3  */
     4 public class RegexDemo4 {
     5 
     6     public static void main(String[] args) {
     7 //        String s = "hello world  hi   hehe    mysql        oracle";
     8         //拆分字符串  一个以上空格都拆
     9 //        String[] arr = s.split(" +");
    10         
    11         
    12 //        String s = "hello.world.hi.hehe.mysql.oracle";
    13 //        String[] arr = s.split("\\.");
    14         
    15         String s = "c:\\code\\day11\\test";
    16         //拆分字符串\\\\把\\拆出
    17         String[] arr = s.split("\\\\");
    18         
    19         
    20         for (int i = 0; i < arr.length; i++) {
    21             System.out.println(arr[i]);
    22         }
    23     }
    24 }
    切割功能使用正则表达式
     1 /*
     2  * 正则表达式实现替换 ***
     3  */
     4 public class RegexDemo5 {
     5 
     6     public static void main(String[] args) {
     7 //        String s = "Hello world Hello world";
     8 //        String replace = s.replace('l', 'L');
     9 //        System.out.println(replace);
    10         
    11 //        String replace = s.replace("world", "China");
    12 //        System.out.println(replace);
    13 //
    14 //        String replace = s.replace("world", "China");
    15 //        System.out.println(replace);
    16         
    17         //第一次索引遇到的l替换成A
    18 //        String replaceFirst = s.replaceFirst("l", "A");
    19 //        System.out.println(replaceFirst);
    20         
    21         //字符串中索引的l替换成A
    22 //        String replaceAll = s.replaceAll("l", "A");
    23 //        System.out.println(replaceAll);
    24         
    25         //要求:替换一个字符串中所有的"账号" --> "**"
    26         
    27         String s = "zhangsan账号123456789";
    28 //        String replace = s.replace("账号", "**");
    29 //        System.out.println(replace);
    30         //要求:替换一个字符串中所有的数字到*
    31 //        String replaceAll = s.replaceAll("[0-9]+", "*");
    32 //        System.out.println(replaceAll);
    33         //遇到数字就替换成*
    34         String replaceAll = s.replaceAll("[0-9]", "*");
    35         System.out.println(replaceAll);    
    36     }
    37 }
    正则表达式实现替换 ***

    2.compareTo源码分析

     1 public class CompareDemo {
     2 
     3     public static void main(String[] args) {
     4         /*String s1 = "Hello";
     5         String s2 = "Hello";
     6         System.out.println(s1 == s2);
     7         System.out.println(s1.equals(s2));
     8         System.out.println(s1.compareTo(s2));//0
     9         */
    10         
    11         String ss1 = "ABCE";
    12         String ss2 = "ABCD";
    13         System.out.println(ss2.compareTo(ss1));//-1
    14         
    15         System.out.println("----------------");
    16         String s1 = "ABCDEFG";
    17         String s2 = "ABCDE";
    18         System.out.println(s1.compareTo(s2));//2
    19         
    20         
    21 //        String res = s1.replace('l', 'L');
    22 //        System.out.println(res);
    23     }
    24 
    25 }
    compareTo应用
  • 相关阅读:
    实验三电子公文传输系统1个人贡献
    2.5 OpenEuler 中C与汇编的混合编程(选做)
    整数范围与类型转换
    2.4 OpenEuler中C语言中的函数调用测试(选做)
    算法测试(课上测试)
    程序运行
    温湿度监测系统设计:基于 STM32 的温湿度变送器的设计与实现
    交替方向乘子法(Alternating Direction Multiplier Method,ADMM)
    Python 数据科学手册:读书笔记概论
    注意力机制最新综述:A Comprehensive Overview of the Developments in Attention Mechanism
  • 原文地址:https://www.cnblogs.com/star521/p/8401550.html
Copyright © 2020-2023  润新知