{"id":170457,"date":"2010-03-27T22:59:19","date_gmt":"2010-03-27T22:59:19","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/rex-regular-expression-exploration\/"},"modified":"2017-06-14T14:56:35","modified_gmt":"2017-06-14T21:56:35","slug":"rex-regular-expression-exploration","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/rex-regular-expression-exploration\/","title":{"rendered":"Rex – Regular Expression Exploration"},"content":{"rendered":"
Rex is a tool that explores .NET regexes and generates members efficiently.<\/p>\n
The duel mode is a game\u00a0where you have\u00a0to <\/b>guess a secret (hidden) regex<\/em><\/b>.<\/b> On each attempt, Rex generates strings that match or don’t match the same way as the secret regex. The game uses the ASCII range of characters, i.e. characters from code 0 to 127 and displays various automata associated to\u00a0the regexes.<\/p>\n There is a secret regex<\/em><\/strong> S<\/em> and a given regex<\/strong><\/em> R<\/em>. When you ask rex<\/strong>, a table is displayed showing (up to two) members of<\/p>\n where L(r<\/em>) denotes the set of all strings\u00a0matching a regex r. <\/em>In addition, the following automata are shown for R<\/em>:<\/p>\n All automata are displayed in symbolic<\/em> or extended<\/em> form, meaning that the labels on the transitions denote (nonempty)\u00a0sets of characters<\/em> rather than individual characters.<\/p>\n The\u00a0duel\u00a0also displays an NFA accepting L(S) minus<\/em> L(R), denoted by NFA(S-R)<\/strong>.<\/p>\n Duels\u00a0uses features of the underlying automata library (used by Rex) such as:<\/p>\n<\/span><\/h2>\n
How does the duel work?<\/h2>\n
\n
\n
\n