java 正则表达式

package org;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Tests {

 /**
  * @param args
  */
 public static void main(String[] args) {
    String input = "";
    String  regex = "";
   
    input = "陈-俊哥      #_com.overseas.AggregaPicture01   ,   mergeVertical01  ,  ${ param.abcsdsdsd },${param.abc}, 2008-11-11,TRUE,2,${param.abbB3}#我可以做你的小弟么?陈-俊哥      #_com.overseas.AggregaPicture01   ,   mergeVertical01  ,  ${ param.abcsdsdsd },${param.abc}, 2008-11-11,TRUE,2,${param.abbB3}#我可以做你的小弟么?";
    String regexSplit = "[\\s]*,[\\s]*";
    String regexClassName = "([a-zA-Z_$]{1}[a-zA-Z_.$]*[\\.]{1}[a-zA-Z_]{1}[a-zA-Z_\\d$]*)";
    String regexMethodName = "([a-zA-Z_]{1}[a-zA-Z_\\d.$]*)";
    String regexParamOne = "([$]{1}[{]{1}[\\s]*[^#]*\\.[^#]*[\\s]*[}]{1})";
    String regexParamTwo = regexParamOne;
    String regexTime = "(\\d{4}\\-\\d{2}\\-\\d{2})";
    String regexBoolean = "(true|TRUE|false|FALSE)";
    String regexNumber = "(\\d{1})";
    String regexParamThree = regexParamOne;
   
   
    StringBuffer sb = new StringBuffer();
    sb.append("#(");
    sb.append("[\\s]*");
   
   
    sb.append(regexClassName);
    sb.append(regexSplit);
    sb.append(regexMethodName);
    sb.append(regexSplit);
    sb.append(regexParamOne);
    sb.append(regexSplit);
    sb.append(regexParamTwo);
    sb.append(regexSplit);
    sb.append(regexTime);
    sb.append(regexSplit);
    sb.append(regexBoolean);
    sb.append(regexSplit);
    sb.append(regexNumber);
    sb.append(regexSplit);
    sb.append(regexParamThree);
    sb.append("[\\s]*)[\\s]*#");
    regex = sb.toString();
   
   
    // regex = "#([a-zA-Z.$-{}\\d\\s,]*)[\\s]*#";
     Pattern pattern = Pattern.compile(regex);
     Matcher matcher = pattern.matcher(input);
     System.out.println("input = "+ input);
    

     System.out.println("regex= "+regex);
     while(matcher.find()){
      for(int i=1; i<=matcher.groupCount(); i++){
          System.out.println("group id="+i +"   value="+matcher.group(i));
      }
     }
   }


 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值