zoukankan      html  css  js  c++  java
  • java基础--13.Regex正则表达式

    正则表达式的匹配规则


    A:字符

            x   字符x   举例:'a'表示字符a
            \  反斜线字符
            
      换行符('u000A')
            
      回车符('u000D')


    B:字符类

            [abc]       a、b或c(简单类)
            [^abc]      任何字符,除了a、b或c(否定)
            [a-zA-Z]    a-z或A-Z 两头的字母包括在内(指定范围)
            [0-9]       09的字符都包括


    C:预定义字符类

            .   任何字符。我的就是.字符本身,怎么表示呢?--"."
            d  任意数字字符:[0-9]
            w  单词字符:[a-zA-Z_0-9] 包含字母(大小写)、下划线"_"、数字


    D:边界匹配器

            ^   行的开头
            $   行的结尾
              单词边界
                就是不是单词字符的地方
                举例:hello world?haha;xixi
                    其中:空格" "、问号"?"、分号";" 都属于单词边界


    E:数量词

            X?  X,0-1次
            X*  X,0-多次
            X+  X,1-多次
            X{n}    X,恰好n次
            X{n,}   X,至少n次
            X{n,m}  X,至少n次,但是不超过m次

    匹配获取功能–Pattern和Matcher类的应用


    练习:
    获取下面这个字符串中由3个字符组成的单词,并打印

    package cn.regex;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegexDemo2 {
    
        /**
         * 匹配获取功能
         * 获取下面这个字符串中由3个字符组成的单词
         * da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?
         * @param args
         */
        public static void main(String[] args) {
            //定义字符串
            String s = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?";
            //定义匹配规则:由3个字符组成的单词
            String regex = "\b\w{3}\b";
    
            //把规则编译成模式对象
            Pattern p = Pattern.compile(regex);
    
            //通过模式对象得到匹配器对象
            Matcher m = p.matcher(s);
    
            //查找下一个匹配的字符串,进入循环则表示查找到
            while(m.find()){
                System.out.println(m.group());//获取并打印该匹配的字符串
            }
        }
    
    }
    
  • 相关阅读:
    【备忘】(可持久化)线段树
    和别人一起搞的模拟赛 (1) 题解
    和别人一起搞的模拟赛 (1) 题面
    【讲课】基础的数论知识
    斐波那契
    luogu P6222
    luogu P4240
    二分图网络流做题记录
    ds 瞎做
    P6943 [ICPC2018 WF]Conquer The World 解题报告
  • 原文地址:https://www.cnblogs.com/shiguangmanbu2016/p/5932808.html
Copyright © 2011-2022 走看看