• 正则表达式学习笔记(附:Java版示例代码)


    具体学习推荐:正则表达式30分钟入门教程

    .            除换行符以外的任意字符
    w         word,正常字符,可以当做变量名的,字母、数字、下划线、汉字
    s          space,空白符
    d          digital,数字
              begin,单词的开始和结束
    ^            匹配字符串的开始(整个字符串)
    $            匹配字符串的结束(整个字符串)
    ?           重复0次或1次
    *            重复任意次
    +            重复至少一次
    {x}         重复x次
    {x,}        重复至少x次
    {x,y}     重复x到y次
             转义
    [xyz]      匹配x或y或z中的一个字符
    [A-D1-3]  匹配ABCD123中的一个字符
    匹配1|匹配2   分支条件,或,注意:和编程一样,从左到右,一旦匹配1满足,停止匹配
    ()                 分组,把括号里面的东西当做一个整体
    W S D B   和对应的小写w s d 含义相反
    [^abc]          匹配除abc以外的字符
    1                后向引用,重复搜索前面第1个分组匹配的文本。(w+)s+1,匹配类似go go。
    (?=exp)        零宽断言:断言自身出现的位置的后面能匹配表达式exp
    (?<=exp)      零宽断言:断言自身出现的位置的前面能匹配表达式exp
    (?!exp)         负向零宽断言:断言此位置的后面不能匹配表达式exp
    (?<!exp)       零宽度负回顾后发断言来断言此位置的前面不能匹配表达式exp

    *?                重复任意次,但尽可能少重复 ,即让字符数越少越好
    +?               重复1次或更多次,但尽可能少重复,即让字符数越少越好
    ??                重复0次或1次,但尽可能少重复
    {n,m}?        重复n到m次,但尽可能少重复
    {n,}?           重复n次以上,但尽可能少重复

    Java正则表达式示例代码:

     RegEx.java

    /*
     * /*
     * RegEx
     * @author ChenMing
     * @version 2016-7-15
     */
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegEx {
        public static void main(String[] args) {
            /*//查找匹配     字符 Java里面要用\
            Pattern pattern = Pattern.compile("\w+") ;
            Matcher matcher = pattern.matcher("xx") ;
            boolean b = matcher.matches() ; 
            System.out.println(b);*/
            
            /*//分割 按照空格和,分割
            Pattern pattern = Pattern.compile(" ,");
            String[] strs = pattern.split("Java Hello World  Java,Hello,,World|Sun");
            for (int i=0;i<strs.length;i++) {
                System.out.println(strs[i]);
            } */
            
            
            /*//文字替换
            Pattern pattern = Pattern.compile("替换文本");
            Matcher matcher = pattern.matcher("被替换文本 adad asdad ad 被替换文本da 被替换文本sd");
            System.out.println(matcher.replaceFirst("被替换文本 "));
            System.out.println(matcher.replaceAll("被替换文本 "));*/
            
            
            /*//去除html标记
            //Pattern.DOTALL 在这种模式下,表达式'.'可以匹配任意字符,包括表示一行的结束符。默认情况下,表达式'.'不匹配行的结束符。
            Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
            Matcher matcher = pattern.matcher("<a href="index.html">主页</a>");
            String string = matcher.replaceAll("");
            System.out.println(string);*/
        }
    }
  • 相关阅读:
    淘宝IP地址库采集
    Android MediaCodec硬编兼容性测试方案
    《Tensorflow实战》之6.3VGGnet学习
    tensorflow问题集锦
    <tensorflow实战>之5.3实现进阶的卷积网咯
    CNN_minist
    tensorflow之MLP学习
    tensorflow学习之等价代码
    tensorflow学习之softmax regression
    NPE进一步学习
  • 原文地址:https://www.cnblogs.com/xmu-chenming/p/5672121.html
Copyright © 2020-2023  润新知