code: protected static String preNormalize(String text) {
      String normalizedText = text.toLowerCase();
      normalizedText = Chronic.numericizeNumbers(normalizedText);
      normalizedText = normalizedText.replaceAll("['\"\\.]", "");
      normalizedText = normalizedText.replaceAll("([/\\-,@])", " $1 ");
      normalizedText = normalizedText.replaceAll("\\btoday\\b", "this day");
      normalizedText = normalizedText.replaceAll("\\btomm?orr?ow\\b", "next day");
      normalizedText = normalizedText.replaceAll("\\byesterday\\b", "last day");
      normalizedText = normalizedText.replaceAll("\\bnoon\\b", "12:00");
      normalizedText = normalizedText.replaceAll("\\bmidnight\\b", "24:00");
      normalizedText = normalizedText.replaceAll("\\bbefore now\\b", "past");
      normalizedText = normalizedText.replaceAll("\\bnow\\b", "this second");
      normalizedText = normalizedText.replaceAll("\\b(ago|before)\\b", "past");
      normalizedText = normalizedText.replaceAll("\\bthis past\\b", "last");
      normalizedText = normalizedText.replaceAll("\\bthis last\\b", "last");
      normalizedText = normalizedText.replaceAll("\\b(?:in|during) the (morning)\\b", "$1");
      normalizedText = normalizedText.replaceAll("\\b(?:in the|during the|at) (afternoon|evening|night)\\b", "$1");
      normalizedText = normalizedText.replaceAll("\\btonight\\b", "this night");
      normalizedText = normalizedText.replaceAll("(?=\\w)([ap]m|oclock)\\b", " $1");
      normalizedText = normalizedText.replaceAll("\\b(hence|after|from)\\b", "future");
      normalizedText = Chronic.numericizeOrdinals(normalizedText);
      return normalizedText;
    }
docs: Clean up the specified input text by stripping unwanted characters,
  converting idioms to their canonical form, converting number words
  to numbers (three => 3), and converting ordinal words to numeric
  ordinals (third => 3rd)