java正则表达式

 public void prepare() throws Exception {
  if (getRequest().getMethod().equalsIgnoreCase("post")) {
            String walkthroughReviewItemId = getRequest().getParameter("walkthroughReviewItem.id");
            if (!StringUtil.isEmpty(walkthroughReviewItemId))   walkthroughReviewItem = walkthroughReviewItemManager.get(new Long(walkthroughReviewItemId));
        }
      String currentDatasource = ServletActionContext.getRequest().getSession().getAttribute("currentUserDatasource").toString();
      Matcher matcher = Pattern.compile("template[0-9]*DS").matcher(currentDatasource);
     if(!matcher.find())  projectDatasource = true;
 }
 
    Pattern pvalue;
    Pattern pSerialNumber;
   
    @Autowired
    public SerialNumberManagerImpl(SerialNumberDao serialNumberDao) {
        super(serialNumberDao);
        this.serialNumberDao = serialNumberDao;
       
        pSerialNumber = Pattern.compile(" \\{[a-z|A-Z]*-\\ }", 10);        // [a-z|A-Z]*-
        pvalue = Pattern.compile("
\\{N*\\ }", 10);                       // N*
    }

 public String generateSerialNumber(String name) {
  
  StringBuffer result = new StringBuffer();
  SerialNumber serialNumber = serialNumberDao.generateSerialNumber(name);
  if (serialNumber == null) return null;
  
  String s1 = serialNumber.getRule();
        Date date = new Date();
       
        Matcher matcher3 = pvalue.matcher(s1);
        if(matcher3.find()){
            String s5 = matcher3.group(0);
            s5 = s5.substring(1, s5.length() - 1);
            s1 = s5.toLowerCase().replace("n", "");
        }
       
        Matcher matcher5 = pSerialNumber.matcher(s1);
        if(matcher5.find()){
            s1 = s1.replaceAll("\\{", "").replaceAll("\\}", "");
        }
       
        result.append(s1);
       
        Long sequence = new Long(serialNumber.getSequence().longValue() + 1);
        int length = serialNumber.getLength().intValue();
        int num = sequence.toString().length();
        if ((length - num) < 0){
         serialNumber.setLength(new Long(length+1));
        }
        for(int i=0;i< ( length - sequence.toString().length() ) ; i++){
         result.append("0");
        }
       
        result.append(sequence);
       
        serialNumber.setSequence( sequence );
        serialNumber = serialNumberDao.save(serialNumber);
        flush();
        return result.toString();
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值