Index: logback-core/src/main/java/ch/qos/logback/core/util/CharSequenceToRegexMapper.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- logback-core/src/main/java/ch/qos/logback/core/util/CharSequenceToRegexMapper.java (revision be4334e9697ae6435a2c2ad3099007b7cb51e612) +++ logback-core/src/main/java/ch/qos/logback/core/util/CharSequenceToRegexMapper.java (revision ) @@ -59,7 +59,7 @@ return getRegexForShortDaysOfTheWeek(); } case 'a': - return ".{2}"; + return getRegexForAmPms(); case 'Z': return "(\\+|-)\\d{4}"; case '.': @@ -80,6 +80,11 @@ } } + private String getRegexForAmPms() { + String[] amPms = symbols.getAmPmStrings(); + int[] minMax = findMinMaxLengthsInSymbols(amPms); + return ".{" + minMax[0] + "," + minMax[1] + "}"; + } private String getRegexForLongDaysOfTheWeek() { String[] shortMonths = symbols.getWeekdays(); Index: logback-core/src/test/java/ch/qos/logback/core/util/DatePatternToRegexTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- logback-core/src/test/java/ch/qos/logback/core/util/DatePatternToRegexTest.java (revision be4334e9697ae6435a2c2ad3099007b7cb51e612) +++ logback-core/src/test/java/ch/qos/logback/core/util/DatePatternToRegexTest.java (revision ) @@ -96,7 +96,12 @@ @Test public void amPm() { doTest("yyyy-MM-dd a", CAL_2009_08_3_NIGHT); + doTest("yyyy-MM-dd a", CAL_2009_08_3_NIGHT, CZ_LOCALE); + doTest("yyyy-MM-dd a", CAL_2009_08_3_NIGHT, KO_LOCALE); + doTest("yyyy-MM-dd a", CAL_2009_08_3_MORNING); + doTest("yyyy-MM-dd a", CAL_2009_08_3_MORNING, CZ_LOCALE); + doTest("yyyy-MM-dd a", CAL_2009_08_3_MORNING, KO_LOCALE); } void doTest(String datePattern, Calendar calendar) {