A note on regular expressions
=============================

Orange Textable widgets rely heavily on *regular expressions* (or *regexes*),
which are essentially a body of conventions for describing a set of strings
by means of a single string. These conventions are widely documented in books
and on the Internet, so we will not give here yet another introduction to this
topic. Nevertheless, a basic knowledge of regexes is required to perform any
non-trivial task with Orange Textable, and more advanced knowledge to
fully exploit the software's possibilities.

The syntax of regexes is partly standardized, but some variations remain.
Orange Textable uses Python regexes, for which Python documentation is the
best source of information. In particular, it features a good
`introduction to regexes <http://docs.python.org/2/howto/regex.html>`_. A
first reading might be limited to the following sections:

    - `Simple Patterns <http://docs.python.org/2/howto/regex.html#simple-patterns>`_
    - `More Metacharaters <http://docs.python.org/2/howto/regex.html#more-metacharacters>`_
    
Also recommended are the following:

    - `Compilation Flags <http://docs.python.org/2/howto/regex.html#compilation-flags>`_
    - `Lookahead Assertions <http://docs.python.org/2/howto/regex.html#lookahead-assertions>`_
    - `Greedy vs. Non-Greedy <http://docs.python.org/2/howto/regex.html#greedy-versus-non-greedy>`_


