我需要一个正则表达式来包含按顺序包含的字符串:
- 字母
- 一个特殊的字符
- 日期(日/月/年)
例如
Payments - received by 04/13/13
有人可以帮我解决这个问题吗?我尝试了以下[a-z]* - [a-z]* 99/99/99
但它不工作。
pattern = Pattern.compile("[a-zA-Z]* - [a-zA-Z]* [0-9]{2}/[0-9]{2}/[0-9]{2}");
尝试在 Java 中使用这个正则表达式:
Pattern pat = Pattern.compile(".+ - .+\\d\\d/\\d\\d/\\d\\d");
检查字符串是否匹配:
String str = "Payments - received by 04/13/13";
Matcher m = p.matcher(str);
if (m.find())
System.out.println("the string matches!");
尝试用d
s 替换 9s,d 是[0-9]
. 也不[a-z]
等于。[A-Za-z]
当然,这仍然会匹配无效日期,例如第 99 个月的 35 日
差不多,但有几个问题:
试试这个:
[a-zA-z ]* - [a-zA-Z ]* \d{2}/\d{2}/\d{2}