正则表达式备用

package cal.cn;

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

public class RexMain {
    
    public static void main(String[] args) throws Exception {
//        rexTst();
        
        
        String originStr = "SUM(B21.210)*0.1229/1000 + SUM(B3.340) + B2.230 + B4.410 + SUM(B1.110)";
        
         分析出 SUM 及B2.110 形式
         //  SUM\\(B\\d+\\.\\d+\\) SUM形式
//         Pattern p = Pattern.compile("SUM\\(B\\d+\\.\\d+\\)");// 
         //  SUM\\(B\\d+\\.\\d+\\) B2.110形式
//         Pattern p = Pattern.compile("B\\d+\\.\\d+");// 
        //贪婪匹配
//         Pattern p = Pattern.compile("SUM\\(B\\d+\\.\\d+\\)|B\\d+\\.\\d+"); 
         //
         Pattern p = Pattern.compile("B\\d+\\.\\d+ |SUM\\(B\\d+\\.\\d+\\)");
         Matcher m = p.matcher(originStr);
         while(m.find()) {
                String temp = m.group();
                System.out.println(temp);
         }
    }
        

//     public static void rexTst() {
//         Pattern p=Pattern.compile("\\d+"); 
//         Matcher m=p.matcher("SUM(B2.110)*0.1229/1000 + SUM(B3.240) + B2.130"); 
//         m.pattern();//返回p 也就是返回该Matcher对象是由哪个Pattern对象的创建的 
//         if(m.find()) {
//             String temp = m.group();
//             System.out.println(temp);
//         }
//     }
}
 

----------------------------

java 判断日期格式是否符合“YYYY-MM-DD”
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class T {

    public static boolean isValidDate(String sDate) {
        String datePattern1 = "\\d{4}-\\d{2}-\\d{2}";
        String datePattern2 = "^((\\d{2}(([02468][048])|([13579][26]))"
                + "[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|"
                + "(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?"
                + "((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?("
                + "(((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?"
                + "((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
        if ((sDate != null)) {
            Pattern pattern = Pattern.compile(datePattern1);
            Matcher match = pattern.matcher(sDate);
            if (match.matches()) {
                pattern = Pattern.compile(datePattern2);
                match = pattern.matcher(sDate);
                return match.matches();
            } else {
                return false;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        String dataString = "1902-1-13";// "19010101"
        boolean reString = isValidDate(dataString);
        System.out.println(reString);
    }

}

日期相关---SimpleDateFormat的setLenient(true/false)-----自动计算日期 - 攸点虎 - 博客园 (cnblogs.com)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值