use YAPE::Regex::Explain;
$regex = qr/.*([\$#\%>~]|\@\w~\$|\\\[\\e\[0m\\\] \[0m)\s?/;
print YAPE::Regex::Explain->new($regex)->explain;
__OUTPUT__
The regular expression:
(?-imsx:.*([\$#%>~]|\@\w~\$|\\\[\\e\[0m\\\] \[0m)\s?)
matches as follows:
NODE EXPLANATION
----------------------------------------------------------------------
(?-imsx: group, but do not capture (case-sensitive)
(with ^ and $ matching normally) (with . not
matching \n) (matching whitespace and #
normally):
----------------------------------------------------------------------
.* any character except \n (0 or more times
(matching the most amount possible))
----------------------------------------------------------------------
( group and capture to \1:
----------------------------------------------------------------------
[\$#%>~] any character of: '\$', '#', '%', '>',
'~'
----------------------------------------------------------------------
| OR
----------------------------------------------------------------------
\@ '@'
----------------------------------------------------------------------
\w word characters (a-z, A-Z, 0-9, _)
----------------------------------------------------------------------
~ '~'
----------------------------------------------------------------------
\$ '$'
----------------------------------------------------------------------
| OR
----------------------------------------------------------------------
\\ '\'
----------------------------------------------------------------------
\[ '['
----------------------------------------------------------------------
\\ '\'
----------------------------------------------------------------------
e 'e'
----------------------------------------------------------------------
\[ '['
----------------------------------------------------------------------
0m '0m'
----------------------------------------------------------------------
\\ '\'
----------------------------------------------------------------------
\] ']'
----------------------------------------------------------------------
' '
----------------------------------------------------------------------
\[ '['
----------------------------------------------------------------------
0m '0m'
----------------------------------------------------------------------
) end of \1
----------------------------------------------------------------------
\s? whitespace (\n, \r, \t, \f, and " ")
(optional (matching the most amount
possible))
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
Let me show you my (colourful) command prompt... :-) which looks like: ($hostname)$fullpath>
export PS1="\[\033[1;37m\](\[\033[1;32m\]`uname -n`\[\033[1;37m\])\[\0
+33[1;36m\]\$PWD\[\033[1;37m\]>\[\033[0m\] "
# ANSI colour commands
# \[\033[1;37m\] => set colour to white (37)
# \[\033[1;32m\] => set colour to green (32)
# \[\033[1;36m\] => set colour to cyan (36)
# ...
# \[\033[0m\] => set colour back to normal
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|