1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.util.*; import java.util.regex.*; class Main { public static void main (String[] args) throws Exception { String[] test = { "*date", "date*", "date", "date*date", // valid strings "*date*", "date*date*", "*date*date", "date**" // invalid strings }; String[] rgxs = { "(?:[*]())?date(?:(?!\\1)[*](?:date)?|)", // with pseudo-conditionals "\\*date|date(?:\\*(?:date)?)?" // the old-fashioned way }; for (String r : rgxs) { Pattern p = Pattern.compile(r); System.out.printf("%nregex : %s%n", p.pattern()); for (String s : test) { System.out.printf("%-6b: %s%n", p.matcher(s).matches(), s); } } } } |
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CgpjbGFzcyBNYWluCnsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbgogIHsKICAgIFN0cmluZ1tdIHRlc3QgPSB7IAogICAgICAgICIqZGF0ZSIsICJkYXRlKiIsICJkYXRlIiwgImRhdGUqZGF0ZSIsICAgICAgICAgICAgLy8gdmFsaWQgc3RyaW5ncwogICAgICAgICIqZGF0ZSoiLCAiZGF0ZSpkYXRlKiIsICIqZGF0ZSpkYXRlIiwgImRhdGUqKiIgICAgLy8gaW52YWxpZCBzdHJpbmdzCiAgICB9OwogICAgU3RyaW5nW10gcmd4cyA9IHsKICAgICAgICAiKD86WypdKCkpP2RhdGUoPzooPyFcXDEpWypdKD86ZGF0ZSk/fCkiLCAgIC8vIHdpdGggcHNldWRvLWNvbmRpdGlvbmFscwogICAgICAgICJcXCpkYXRlfGRhdGUoPzpcXCooPzpkYXRlKT8pPyIgICAgICAgICAgICAgLy8gdGhlIG9sZC1mYXNoaW9uZWQgd2F5CiAgICB9OwogICAgZm9yIChTdHJpbmcgciA6IHJneHMpCiAgICB7CiAgICAgIFBhdHRlcm4gcCA9IFBhdHRlcm4uY29tcGlsZShyKTsKICAgICAgU3lzdGVtLm91dC5wcmludGYoIiVucmVnZXggOiAlcyVuIiwgcC5wYXR0ZXJuKCkpOwogICAgICBmb3IgKFN0cmluZyBzIDogdGVzdCkKICAgICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCIlLTZiOiAlcyVuIiwgcC5tYXRjaGVyKHMpLm1hdGNoZXMoKSwgcyk7CiAgICAgIH0KICAgIH0KICB9Cn0=
-
upload with new input
-
result: Success time: 0.03s memory: 245632 kB returned value: 0
import java.util.*; import java.util.regex.*; class Main { public static void main (String[] args) throws Exception { String[] test = { "*date", "date*", "date", "date*date", // valid strings "*date*", "date*date*", "*date*date", "date**", "deva" // invalid strings }; String[] rgxs = { "(?:[*]())?date(?:(?!\\1)[*](?:date)?|)", // with pseudo-conditionals "\\*date|date(?:\\*(?:date)?)?" // the old-fashioned way }; for (String r : rgxs) { Pattern p = Pattern.compile(r); System.out.printf("%nregex : %s%n", p.pattern()); for (String s : test) { System.out.printf("%-6b: %s%n", p.matcher(s).matches(), s); } } } }regex : (?:[*]())?date(?:(?!\1)[*](?:date)?|) true : *date true : date* true : date true : date*date false : *date* false : date*date* false : *date*date false : date** regex : \*date|date(?:\*(?:date)?)? true : *date true : date* true : date true : date*date false : *date* false : date*date* false : *date*date false : date**
-
result: Success time: 0.07s memory: 213440 kB returned value: 0
regex : (?:[*]())?date(?:(?!\1)[*](?:date)?|) true : *date true : date* true : date true : date*date false : *date* false : date*date* false : *date*date false : date** regex : \*date|date(?:\*(?:date)?)? true : *date true : date* true : date true : date*date false : *date* false : date*date* false : *date*date false : date**


