順番に含まれる文字列の正規表現が必要です:
- アルファベット
- 特殊文字
- 日付 (日/月/年)
例えば
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}");
9 を s に置き換えてみてくださいd
。d は のプレースホルダーです[0-9]
。また[a-z]
、 と等しくありません[A-Za-z]
。
もちろん、これは 99 か月目の 35 日のような無効な日付にも一致します。
ほとんどですが、いくつかの問題があります。
代わりにこれを試してください:
[a-zA-z ]* - [a-zA-Z ]* \d{2}/\d{2}/\d{2}
Try using this regular expression in Java:
Pattern pat = Pattern.compile(".+ - .+\\d\\d/\\d\\d/\\d\\d");
To check if the string matches:
String str = "Payments - received by 04/13/13";
Matcher m = p.matcher(str);
if (m.find())
System.out.println("the string matches!");