zoukankan      html  css  js  c++  java
  • Java正则表达式获取中括号之间的内容

    参考:
    求一个正则表达式提取中括号里的内容 [问题点数:80分]CSDN论坛 > Java > Web 开发
    正则表达式 - 菜鸟教程

    不包含中括号

    正则表达式如下:

    \[(.*?)]
    

    注:
    .匹配除换行符 之外的任何单字符;
    *匹配前面的子表达式零次或多次;
    ?匹配前面的子表达式零次或一次;
    ()标记一个子表达式的开始和结束位置;
    [匹配[字符。[是特殊字符需要转义;
    特殊字符,前面还需要转义字符

    包含中括号

    (\[(.*?)])
    

    外加小括号,表示[]也在匹配结果之内。

    代码(不包含中括号)

    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegularExpression {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		while (sc.hasNext()) {
    			String input = sc.nextLine();
    			String regex = "\[(.*?)]";
    			Pattern pattern = Pattern.compile(regex);
    			Matcher matcher = pattern.matcher(input);
    			while (matcher.find()) {
    				System.out.println(matcher.group(1));
    			}
    		}
    		sc.close();
    	}
    }
    

    样例

    ab]cd[ef]gh[ij[kl]mn[op]qr]st[uv
    
    ef
    ij[kl
    op
    
  • 相关阅读:
    kolla
    lbaas
    celery
    redis发布订阅
    数据库简单介绍
    celery
    ansible初识
    315
    request
    navicat连接mysql报错1251解决方案
  • 原文地址:https://www.cnblogs.com/wowpH/p/11687428.html
Copyright © 2011-2022 走看看