Skip to content

Commit 5b6cd6c

Browse files
authored
Adding mmmm dd yyyy date format (no comma). (#301)
1 parent 7a860df commit 5b6cd6c

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/main/java/ai/philterd/phileas/services/filters/regex/DateFilter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ private List<FilterPattern> buildFilterPatterns() {
105105
// These spans do NOT have replaceable delimiters.
106106
// These dates with the month names are pretty specific so they always pass validation as valid dates.
107107
filterPatterns.add(new FilterPattern.FilterPatternBuilder(Pattern.compile("(?i)(\\b\\d{1,2}\\D{0,3})?\\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|(Nov|Dec)(?:ember)?) [\\d]{0,1}, [\\d]{4}\\b"), 0.75).withFormat("MMMM dd, yyyy").withAlwaysValid(true).build());
108+
filterPatterns.add(new FilterPattern.FilterPatternBuilder(Pattern.compile("(?i)(\\b\\d{1,2}\\D{0,3})?\\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|(Nov|Dec)(?:ember)?) [\\d]{0,1} [\\d]{4}\\b"), 0.75).withFormat("MMMM dd yyyy").withAlwaysValid(true).build());
108109
filterPatterns.add(new FilterPattern.FilterPatternBuilder(Pattern.compile("(?i)(\\b\\d{1,2}\\D{0,3})?\\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|(Nov|Dec)(?:ember)?) [\\d]{2}\\b"), 0.75).withFormat("MMMM yy").withAlwaysValid(true).build());
109110
filterPatterns.add(new FilterPattern.FilterPatternBuilder(Pattern.compile("(?i)(\\b\\d{1,2}\\D{0,3})?\\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|(Nov|Dec)(?:ember)?) [\\d]{4}\\b"), 0.75).withFormat("MMMM yyyy").withAlwaysValid(true).build());
110111

src/test/java/ai/philterd/phileas/filters/DateFilterTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,24 @@ public void filterDate45() throws Exception {
600600

601601
}
602602

603+
@Test
604+
public void filterDate46() throws Exception {
605+
606+
// PHL-239: Support dates like Aug. 31, 2020
607+
608+
final DateFilter filter = new DateFilter(buildFilterConfiguration(), true, DateSpanValidator.getInstance());
609+
610+
final Filtered filtered = filter.filter(getPolicy(), "context", PIECE, "The date of March 4 1932 was fun");
611+
612+
showSpans(filtered.getSpans());
613+
614+
Assertions.assertEquals(1, filtered.getSpans().size());
615+
Assertions.assertEquals(12, filtered.getSpans().get(0).getCharacterStart());
616+
Assertions.assertEquals(24, filtered.getSpans().get(0).getCharacterEnd());
617+
Assertions.assertEquals("March 4 1932", filtered.getSpans().get(0).getText());
618+
619+
}
620+
603621
@Test
604622
public void filterWithCandidates1() throws Exception {
605623

0 commit comments

Comments
 (0)