Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I could still work with it. I'd just use <a href="http://sourceforge.net/projects/regulator/" rel="nofollow noreferrer">Regulator</a>. One thing it allows you to do is save the regex along with test data for it.</p> <p>Of course, I might also add comments.</p> <hr> <p>Here's what Expresso produced. I had never used it before, but now, Regulator is out of a job:</p> <pre> // using System.Text.RegularExpressions; /// /// Regular expression built for C# on: Thu, Apr 2, 2009, 12:51:56 AM /// Using Expresso Version: 3.0.3276, http://www.ultrapico.com /// /// A description of the regular expression: /// /// Select from 3 alternatives /// ^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$ /// Beginning of line or string /// Match expression but don't capture it. [(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2)] /// Select from 2 alternatives /// (?:(?:0?[13578]|1[02])(\/|-|\.)31)\1 /// Match expression but don't capture it. [(?:0?[13578]|1[02])(\/|-|\.)31] /// (?:0?[13578]|1[02])(\/|-|\.)31 /// Match expression but don't capture it. [0?[13578]|1[02]] /// Select from 2 alternatives /// 0?[13578] /// 0, zero or one repetitions /// Any character in this class: [13578] /// 1[02] /// 1 /// Any character in this class: [02] /// [1]: A numbered capture group. [\/|-|\.] /// Select from 3 alternatives /// Literal / /// - /// Literal . /// 31 /// Backreference to capture number: 1 /// (?:(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2) /// Return /// New line /// Match expression but don't capture it. [(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2] /// (?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2 /// Match expression but don't capture it. [0?[13-9]|1[0-2]] /// Select from 2 alternatives /// 0?[13-9] /// 0, zero or one repetitions /// Any character in this class: [13-9] /// 1[0-2] /// 1 /// Any character in this class: [0-2] /// [2]: A numbered capture group. [\/|-|\.] /// Select from 3 alternatives /// Literal / /// - /// Literal . /// Match expression but don't capture it. [29|30] /// Select from 2 alternatives /// 29 /// 29 /// 30 /// 30 /// Backreference to capture number: 2 /// Return /// New line /// Match expression but don't capture it. [(?:1[6-9]|[2-9]\d)?\d{2}] /// (?:1[6-9]|[2-9]\d)?\d{2} /// Match expression but don't capture it. [1[6-9]|[2-9]\d], zero or one repetitions /// Select from 2 alternatives /// 1[6-9] /// 1 /// Any character in this class: [6-9] /// [2-9]\d /// Any character in this class: [2-9] /// Any digit /// Any digit, exactly 2 repetitions /// End of line or string /// ^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$ /// Beginning of line or string /// Match expression but don't capture it. [0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))] /// 0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))) /// 0, zero or one repetitions2 /// [3]: A numbered capture group. [\/|-|\.] /// Select from 3 alternatives /// Literal / /// - /// Literal . /// 29 /// Backreference to capture number: 3 /// Match expression but don't capture it. [(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))] /// Match expression but don't capture it. [(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)] /// Select from 2 alternatives /// (?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26]) /// Match expression but don't capture it. [1[6-9]|[2-9]\d], zero or one repetitions /// Select from 2 alternatives /// 1[6-9] /// 1 /// Any character in this class: [6-9] /// [2-9]\d /// Any character in this class: [2-9] /// Any digit /// Match expression but don't capture it. [0[48]|[2468][048]|[13579][26]] /// Select from 3 alternatives /// 0[48] /// 0 /// Any character in this class: [48] /// [2468][048] /// Any character in this class: [2468] /// Any character in this class: [048] /// [13579][26] /// Any character in this class: [13579] /// Any character in this class: [26] /// (?:(?:16|[2468][048]|[3579][26])00) /// Return /// New line /// Match expression but don't capture it. [(?:16|[2468][048]|[3579][26])00] /// (?:16|[2468][048]|[3579][26])00 /// Match expression but don't capture it. [16|[2468][048]|[3579][26]] /// Select from 3 alternatives /// 16 /// 16 /// [2468][048] /// Any character in this class: [2468] /// Any character in this class: [048] /// [3579][26] /// Any character in this class: [3579] /// Any character in this class: [26] /// 00 /// End of line or string /// ^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ /// Beginning of line or string /// Match expression but don't capture it. [(?:0?[1-9])|(?:1[0-2])] /// Select from 2 alternatives /// Match expression but don't capture it. [0?[1-9]] /// 0?[1-9] /// 0, zero or one repetitions /// Any character in this class: [1-9] /// Match expression but don't capture it. [1[0-2]] /// 1[0-2] /// 1 /// Any character in this class: [0-2] /// Return /// New line /// [4]: A numbered capture group. [\/|-|\.] /// Select from 3 alternatives /// Literal / /// - /// Literal . /// Match expression but don't capture it. [0?[1-9]|1\d|2[0-8]] /// Select from 3 alternatives /// 0?[1-9] /// 0, zero or one repetitions /// Any character in this class: [1-9] /// 1\d /// 1 /// Any digit /// 2[0-8] /// 2 /// Any character in this class: [0-8] /// Backreference to capture number: 4 /// Match expression but don't capture it. [(?:1[6-9]|[2-9]\d)?\d{2}] /// (?:1[6-9]|[2-9]\d)?\d{2} /// Match expression but don't capture it. [1[6-9]|[2-9]\d], zero or one repetitions /// Select from 2 alternatives /// 1[6-9] /// 1 /// Any character in this class: [6-9] /// [2-9]\d /// Any character in this class: [2-9] /// Any digit /// Any digit, exactly 2 repetitions /// End of line or string /// /// /// public static Regex regex = new Regex( "^(?:(?:(?:0?[13578]|1[02])(\\/|-|\\.)31)\\1|\r\n(?:(?:0?[13-9]"+ "|1[0-2])(\\/|-|\\.)(?:29|30)\\2))\r\n(?:(?:1[6-9]|[2-9]\\d)?\\d"+ "{2})$|^(?:0?2(\\/|-|\\.)29\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0["+ "48]|[2468][048]|[13579][26])|\r\n(?:(?:16|[2468][048]|[3579][2"+ "6])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))\r\n(\\/|-|\\.)(?:0?[1-9"+ "]|1\\d|2[0-8])\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$", RegexOptions.CultureInvariant | RegexOptions.Compiled ); </pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload