我需要一个正则表达式来匹配包含以下内容的字符串:
- 字母
- 特殊字符
- 日期(dd/mm/yy)
例如:
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!");
几乎可以,但还有一些问题:
请尝试使用以下内容:
[a-zA-z ]* - [a-zA-Z ]* \d{2}/\d{2}/\d{2}
尝试用d
替换9s,d是[0-9]
的占位符。
此外,[a-z]
不等于[A-Za-z]
。
当然,这仍将匹配无效日期,如99个月的第35天。
[]
中间加空格。 - luksch