美文网首页
正则使用二三例

正则使用二三例

作者: 霸体 | 来源:发表于2018-02-12 23:55 被阅读0次

public class MainUtil {

    public static void main(String[] args) {
        refGroup();
    }

    // split 高级用法,保留分隔词
    // 使用场景: 需要对分隔符做对应解析
    static void splitWith(){
        String rawStr = "1,2,3";
        Arrays.asList(rawStr.split("(?=,)")).forEach(System.out::println);
    }

    // group 跨越分组
    // 使用场景: 正则需要使用分组的|功能,但是又不希望计入分组计数
    static void groupOver(){
        String rawStr = "abc123ab123";
        Pattern pattern=Pattern.compile("[a-z]+[0-5]+(?:ab|cd)?([0-9]+)");
        Matcher matcher = pattern.matcher(rawStr);
        while (matcher.find()) {
            System.out.println(matcher.group(1));
        }
    }

    //正则匹配并替换
    // 使用场景: 一帮用于变量替换
    static void regexReplace(){
        String rawStr = "____${a}--${b}____";
        Pattern pattern = Pattern.compile("\\$\\{(\\w+)\\}");
        Matcher matcher = pattern.matcher(rawStr);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()){
            matcher.appendReplacement(sb,matcher.group(1).toUpperCase());
        }
        matcher.appendTail(sb);
        System.out.println(sb.toString());
    }

    //分组引用
    static void refGroup(){
        String rawStr = "abc123tttabc";
        Pattern pattern = Pattern.compile("([a-z]+)\\d+[a-z]+?\\1");
        System.out.println(pattern.matcher(rawStr).matches());
        System.out.println(rawStr.replaceAll("\\d+","_$0_"));
    }
}

相关文章

  • 正则使用二三例

  • logback使用二三例

    logback在打印日志的时候输出当前用户名,可以采用pattern的方式,常见的pattern有date, th...

  • iOS之正则

    什么是正则 正则可以用来 规则如下 用例1:验证字符串(验证手机号,仅作为示例使用) 用例2:查找字符串

  • linux|正则表达式

    使用正则表达的命令有grep、awk、sed 正则表达式规则样例 在passwd取出以r开头,以n结尾的行数据 s...

  • 【读书笔记】_正则表达式

    1、正则表达式使用的特殊符号和字符 1.1、用管道符号( | )匹配多个正则表达式模式,即或,匹配多个表达式。 例...

  • iOS 正则表达式入门

    正则表达式入门 正则表达式工具表 例:

  • chapter09:用正则表达式进行搜索

    使用MySQL正则表达式 仅为正则表达式语言的一个子集。 基本字符匹配 例:检索列prod_name包含文本.00...

  • python抓取网页

    python 使用requests第三方库抓取网页HTML代码,并使用正则进行匹配检索代码 以简书首页为例 如果未...

  • java从字符串中提取数字的简单实例

    正则表达式:在开发过程中,正则表达式是一种使用很频繁的工具,正确使用,能很大程度的提高开发效率。今天给大家举一个例...

  • 正则表达式面试题

    正则表达式教程点击这里 例1 请使用正则取出:Tech,Sales,内容1,内容2要求最好返回值是一个二维数组:如...

网友评论

      本文标题:正则使用二三例

      本文链接:https://www.haomeiwen.com/subject/kqodtftx.html