java正则表达式

来源:互联网 发布:win10网络共享中心卡死 编辑:程序博客网 时间:2024/04/29 23:02
 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();
 }

原创粉丝点击