日期:2014-05-20  浏览次数:20721 次

.java中匹配的问题。
java中匹配的问题。
比如1月2日,1月三日,1月4日,2月5日等等,
如何匹配1月*日下的所有字符串?
我要求的结果是
1月2日,1月三日,1月4日是这三个结果。

------解决方案--------------------
用到Pattern和Matcher。

String str="1月2日";
String regEx="1月.?日"; 

Pattern p=Pattern.compile(regEx);
Matcher m=p.matcher(str);
boolean result=m.find();
System.out.println(result);
这样应该就可以匹配了。
------解决方案--------------------

private static final String REGEX_DATE = "1月(\\d{1,2}
------解决方案--------------------
[一二三四五六七八九十]{1,3})日";

public static boolean isMatch(String sdate) {
return sdate.matches(REGEX_DATE);
}
//1月2日,1月三日,1月4日,2月5日
public static void main(String[] args) {
String[] dateArr = new String[]{"1月2日", "1月三十日", "1月24日", "2月5日"};
for (String s: dateArr)
if (isMatch(s))
System.out.println(s);
}