-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhelp.html
More file actions
30 lines (30 loc) · 2.77 KB
/
help.html
File metadata and controls
30 lines (30 loc) · 2.77 KB
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
27
28
29
30
<ul>
<li>
<h3>What's is RegexEngine?</h3>
<p>RegexEngine is an <a href="https://github.com/KendallHopkins/RegexEngine">open source</a> Web Application built on the <a href="https://github.com/KendallHopkins/FormalTheory">FormalTheory</a> library (PHP) that allows for lexing, manipulation, optimization and rendering of <a href="http://en.wikipedia.org/wiki/Regular_expression">Regular Expressions</a> (or regex). In addition to the manipulation of regex it can transform any arbitrary regex to and from a <a href="http://en.wikipedia.org/wiki/Finite-state_machine">Finite Automata</a>. This allows for even more transformations of expression such as negation, union, intersection, counting solutions, etc. This combination of tools can be very useful in solving many regex related problems such as: find an inverse of a regex, proving two regexes have no overlapping solutions, finding a simpler equivalent regex, visualizing the DFA of a regex, proving two different regex are equivalent and many more.</p>
</li>
<li>
<h3>How do I get started?</h3>
<p>Create a source by selecting a type from the "Source" dropdown. This node can be dragged around by clicking on the gray part of the box, position the box somewhere on the screen. Next create an output from the "Output" dropdown and position it to the right of the source. Click and drag from the blue dot on the source to the green dot on the Output. Depending on which source you selected you might need to configure it by typing a regex. You're Done!</p>
</li>
<li>
<h3>Why won't my regex graph?</h3>
<p>We use Google's <a href="https://developers.google.com/chart/image/docs/gallery/graphviz">Graphviz</a> API which has a limited number of nodes and request length. You can often reduce the complexity of graph by removing all references to <code>.</code> and replacing them with a more specific set. For example <code>^10.*01$</code> -> <code>^10[01]*01$</code>.</p>
</li>
<li>
<h3>Why is my Text Output needlessly complex?</h3>
<p>The transformation from a DFA to a Regular Expression isn't clean. Depending on the interconnections between states in the DFA the outputted regex can increase exponentially in size and often requires complex optimizations to reduce it back down to a reasonably-sized equivalent regex. </p>
</li>
<li>
<h3>How can I delete a wire once I've created it?</h3>
<p>Left click on the wire.</p>
</li>
<li>
<h3>How can I delete a node once I've created it?</h3>
<p>Right click on the node and select "delete".</p>
</li>
<li>
<h3>Will you implement feature X?</h3>
<p>Maybe. Let me know your ideas! You can contact me at my <a href="http://www.google.com/recaptcha/mailhide/d?k=015_swKpS3GzLSR70hby-Ycw==&c=qqKUe4Wqw4xIqgYSpSDD5CdniGr9JkKSfIAwTzNcDbY=">email</a> (evil spam robots needs not apply).</p>
</li>
</ul>