language: Java (sun-jdk-1.7.0_10)
date: 560 days 19 hours ago
link:
visibility: public
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);
      }
    }
  }
}
  • upload with new input
  • 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**