zoukankan      html  css  js  c++  java
  • 正则表达式之使用

    一.JAVA复杂文本操作
    ---相关类 java.util.regex
    ---类Pattern
    ----正则表达式的编译表示形式
    ----Pattern p = Pattern.compiler(r,int);建立正则表达式,并启用相关模式

    ---类Matcher
    ----通过解释Pattern对character sequence执行匹配的操作的引擎
    ----Matcher m = p.matcher(str);//匹配字符串

    1.使用正则表达式查找notepad++

          

    2.eclips

            

    3.在java中的使用

     1 package com.hui.regex;
     2 
     3 import java.util.regex.Matcher;
     4 import java.util.regex.Pattern;
     5 
     6 public class Test01 {
     7 
     8     public static void main(String[] args) {
     9         // 18700870982和i123huikl是否符合指定的表达式:[w]+
    10             Pattern p = Pattern.compile("[\w]+");    //根据字符串正则表达式建立正则表达式对象
    11             
    12             //创建要和正则表达式匹配的对象
    13             Matcher m = p.matcher("18700870982i123huikl");
    14             Matcher m1 = p.matcher("18oifdfoo87700870;_!2i123huikllfkjglkfdjg123156rtoti");
    15             
    16             //判断整个字符串是否匹配
    17             boolean yesorno = m.matches();
    18             boolean yesorno1 = m1.matches();
    19             System.out.println(yesorno);
    20             System.out.println(yesorno1);
    21             System.out.println("-------------------------------");
    22             
    23             //一直往下找匹配的,调用一次找一次
    24 //            boolean find1 = m1.find();
    25 //            //找到内容
    26 //            System.err.println(m1.group());
    27 //            
    28 //            System.out.println(m1.find());
    29 //            //找到内容
    30 //            System.err.println(m1.group());
    31 //            System.out.println(m1.find());
    32 //            System.out.println(m1.find());
    33             while (m1.find()) {
    34                 System.out.println(m1.group());
    35                 System.out.println(m1.group(0));
    36             }
    37             System.out.println("-------------------------------");
    38             
    39             
    40     }
    41 
    42 }

    4.运行结果

    5.分组

     1 package com.hui.regex;
     2 
     3 import java.util.regex.Matcher;
     4 import java.util.regex.Pattern;
     5 /*
     6  * 分组的使用
     7  */
     8 public class Test {
     9 
    10     public static void main(String[] args) {
    11         // 18700abc*870982i123huikl*12dsjk是否符合指定的表达式:[w]+
    12             Pattern p = Pattern.compile("([\w][a-z]{2})([a-z])");    //根据字符串正则表达式建立正则表达式对象
    13             
    14             //创建要和正则表达式匹配的对象
    15             Matcher m = p.matcher("18700abc*870982i123huikl*12dsjk");
    16 
    17             while (m.find()) {
    18                 System.out.println(m.group());
    19                 System.out.println(m.group(1));
    20                 System.out.println(m.group(2));
    21 
    22             }
    23             System.out.println("-------------------------------");
    24             
    25             
    26     }
    27 
    28 }

    6.运行结果

    7.字符串的替换和分割

     1 package com.hui.regex;
     2 
     3 import java.util.Arrays;
     4 import java.util.regex.Matcher;
     5 import java.util.regex.Pattern;
     6 /*
     7  * 替换和分割的使用
     8  */
     9 public class Test2 {
    10 
    11     public static void main(String[] args) {
    12         // 18700abc*870982i123huikl*12dsjk是否符合指定的表达式:[w]+
    13             Pattern p = Pattern.compile("[0-9]");    //根据字符串正则表达式建立正则表达式对象
    14             
    15             //创建要和正则表达式匹配的对象
    16             Matcher m = p.matcher("18700abc*870982i123huikl*12dsjk");
    17 
    18             String newstring = m.replaceAll("#");
    19             System.out.println(newstring);
    20             System.out.println("-------------------------------");
    21             //分割字符串
    22             String str = "dsjhdkljfdk213figofio5456poptror";
    23             String[] split = str.split("[0-9]+");
    24             System.out.println(Arrays.toString(split));
    25             
    26             
    27     }
    28 
    29 }

    8.运行结果

    需要程序源码的可以加我微信x241602私聊。
  • 相关阅读:
    SpringBoot开发中的坑 记录一些
    MongoDB 文档【行】
    MongoDB 集合【表】
    MongoDB 数据库
    MongoDB 基础
    gitlab或github下fork后如何同步源的新更新内容?
    解决:android源码同步repo sync 时出现的fatal:duplicate path错误
    android ROM刷机updater-script单刷补丁包脚本
    一键解包/打包boot.img/recovery.img工具(高通/MTK双版 支持android 5.1以上)
    解决:github上传时出现error: src refspec master does not match any
  • 原文地址:https://www.cnblogs.com/huipengbo/p/6876455.html
Copyright © 2011-2022 走看看