<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://regexadvice.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ShowUsYour&amp;lt;Regex&gt;</title><link>http://regexadvice.com/blogs/dneimke/default.aspx</link><description>Irregular Expressions Regularly</description><dc:language>en</dc:language><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>Is RegExLib full of "it"?</title><link>http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx</link><pubDate>Fri, 01 Apr 2005 21:46:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:259</guid><dc:creator>digory</dc:creator><slash:comments>7</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/259.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=259</wfw:commentRss><description>&lt;p&gt;Today I read a &lt;a href="http://regexadvice.com/blogs/jschoolcraft/archive/2005/03/31/3227.aspx"&gt;comment&lt;/a&gt; 
on Jeffrey Schoolcraft's regex blog from Randal L. Schwartz which I felt that I 
needed to respond to.&amp;nbsp; As I started writing the comment I realized that 
this is probably news that needs to be publicly visible, so I'm posting it to my 
blog and cross referencing&amp;nbsp; the original comment.&amp;nbsp; First, here is 
Randal's comment:&lt;/p&gt;
&lt;hr&gt;
&lt;em&gt;Yup. I continue to downvote and negative-comment nearly every entry at 
"regex lib". &lt;/em&gt;
&lt;p&gt;&lt;em&gt;Do not validate email addresses with a regex (unless it's the full regex, 
as you point out). &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Do not parse HTML with a regex. HTML is surprisingly complex. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Do not validate a date with a regex. All these regex I see that try to 
compute the number of days of february based on the year number just have me 
going "WTF!". &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;These are NOT regex tasks. These are dedicated tool tasks. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;And yet, "regexlib" is full of them. And full of "it", if you know what I 
mean. &lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
Randal...
&lt;p&gt;I hear your pain.&amp;nbsp; As the lead developer of RegExLib I also see the 
problems that you are mentioning and, presently we haven't really provided a 
good enough toolset for the newbies to really help themselves properly.&amp;nbsp; 
Should the&amp;nbsp;newbies be randomly using regex's that they find on the site... 
dunno?&amp;nbsp; That's for another argument.&lt;/p&gt;
&lt;p&gt;We implemented the rating and comment system in the middle of last year to 
try and give some indication about the value of individual patterns - so I'm 
extremely grateful that dilligent members of the community such as yourself are 
helping out by casting your votes.&amp;nbsp; We also implement an Rss feed for the 
comments so that comments such as yours are given public visibility - &lt;a href="http://www.regexlib.com/RssComments.aspx"&gt;http://www.regexlib.com/RssComments.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It's a hard battle to win as RegExLib continues to grow and, as of today 
contains nearly 1000 expressions.&amp;nbsp; There's good news though.&amp;nbsp; Over the 
past couple of months there's been a lot of effort put into helping solve these 
problems and, to that effect, users of the site will see a vastly improved set 
of tools to help deal with some of the problems that you've mentioned.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;To give you a quick example, one of the new features will provide users with 
a shortcut way of finding useful &lt;strong&gt;AND ACCURATE&lt;/strong&gt; expressions by 
offering a box which says: "Enter N examples of what you want to match and N 
that you shouldn't and we'll provide you with a list of patterns which that 
match your requirements".&amp;nbsp; This will help to remove the hit and miss 
element of a NOOB scanning through 1000 patterns to find the veritable needle in 
the haystack.&lt;/p&gt;
&lt;p&gt;The tools that allow users to manage their expressions is also getting an 
improvement so hopefully pattern authors might be more responsive in adjusting 
their patterns based on feedback received.&lt;/p&gt;
&lt;p&gt;I hope that, once you see the new features for yourself you will agree with 
me that RegExLib is a much more valuable resource than it is 
today.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx&amp;amp;;subject=Is+RegExLib+full+of+%22it%22%3f" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx&amp;amp;;title=Is+RegExLib+full+of+%22it%22%3f" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx&amp;amp;title=Is+RegExLib+full+of+%22it%22%3f" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx&amp;amp;;title=Is+RegExLib+full+of+%22it%22%3f" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx&amp;amp;;title=Is+RegExLib+full+of+%22it%22%3f&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/04/01/259.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=259" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Regex/default.aspx">Regex</category></item><item><title>compressing javascript code in perl</title><link>http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx</link><pubDate>Wed, 26 Jan 2005 03:25:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:258</guid><dc:creator>digory</dc:creator><slash:comments>1</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/258.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=258</wfw:commentRss><description>&lt;p&gt;While sneaking around the web tonight looking at sites which have interesting 
dhtml controls or cool stylesheets, I came across this article:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.bazon.net/mishoo/articles.epl?art_id=209"&gt;http://www.bazon.net/mishoo/articles.epl?art_id=209&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I couldn't help but start pulling apart some of those regex's.&amp;nbsp; The one 
which strips whitespace at the beginning and end of lines is quite familiar:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; \n)\s+|\s+(?:$|\n))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;This regex is basically saying:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; either anchor at ^ or \n and slurp all 
whitespace&lt;br&gt;or&lt;br&gt;&amp;nbsp;&amp;nbsp; slurp all whitespace up until the $ or \n 
anchors&lt;/p&gt;
&lt;p&gt;so, while the alternation is costly, overall the regex is very readable and 
maintainable.&amp;nbsp; The C-style comment regex on the other hand seems way too 
complicated compared to my C-style regex which can be found at &lt;a title="RegexLib.com" href="http://regexlib.com" &gt;RegexLib.com&lt;/a&gt; 
here:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://regexlib.com/REDetails.aspx?regexp_id=445"&gt;http://regexlib.com/REDetails.aspx?regexp_id=445&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Overall though, it's not the regex whackiness that I wanted to highlight; 
it's the script.&amp;nbsp; This seems like a nice, lean way to reduce the byte size 
of js code files.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx&amp;amp;;subject=compressing+javascript+code+in+perl" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx&amp;amp;;title=compressing+javascript+code+in+perl" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx&amp;amp;title=compressing+javascript+code+in+perl" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx&amp;amp;;title=compressing+javascript+code+in+perl" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx&amp;amp;;title=compressing+javascript+code+in+perl&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/25/258.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=258" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Regex/default.aspx">Regex</category></item><item><title>apparently this represents my dominant intelligence...</title><link>http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx</link><pubDate>Mon, 17 Jan 2005 11:40:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:257</guid><dc:creator>digory</dc:creator><slash:comments>1</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/257.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=257</wfw:commentRss><description>&lt;table bordercolor="black" cellspacing="0" cellpadding="2" width="400" align="center" border="1"&gt;
  &lt;tbody&gt;
  &lt;tr&gt;
    &lt;td align="middle" bgcolor="#66ccff"&gt;&lt;font style="FONT-SIZE: 14pt; COLOR: black" face="Georgia, Times New Roman, Times, serif"&gt;&lt;b&gt;Your Dominant 
      Intelligence is Linguistic Intelligence&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;
    &lt;td bgcolor="#ffffff"&gt;
      &lt;center&gt;&lt;img src="http://www.quizdiva.net/bt/linguistic.jpg"&gt;&lt;/center&gt;&lt;font color="#000000"&gt;You are excellent with words and language. You explain 
      yourself well. An elegant speaker, you can converse well with anyone on 
      the fly. You are also good at remembering information and convicing 
      someone of your point of view. A master of creative phrasing and unique 
      words, you enjoy expanding your vocabulary. You would make a fantastic 
      poet, journalist, writer, teacher, lawyer, politician, or translator. 
      &lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;div align="center"&gt;&lt;a href="http://www.blogthings.com/intelligencequiz.html"&gt;What 
Kind of Intelligence Do You Have?&lt;/a&gt; &lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx&amp;amp;;subject=apparently+this+represents+my+dominant+intelligence..." target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx&amp;amp;;title=apparently+this+represents+my+dominant+intelligence..." target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx&amp;amp;title=apparently+this+represents+my+dominant+intelligence..." target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx&amp;amp;;title=apparently+this+represents+my+dominant+intelligence..." target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx&amp;amp;;title=apparently+this+represents+my+dominant+intelligence...&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/17/257.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=257" width="1" height="1"&gt;</description></item><item><title>Named Groups, Unnamed Groups and Captures</title><link>http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx</link><pubDate>Fri, 14 Jan 2005 01:55:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:256</guid><dc:creator>digory</dc:creator><slash:comments>2</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/256.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=256</wfw:commentRss><description>&lt;p&gt;I see this question come up a bit in regex so, I thought that I'd blog about 
it.&amp;nbsp; It has to do with 2 things: named groups and captures.&amp;nbsp; First, an 
example...&lt;/p&gt;
&lt;p&gt;I have a set of attributes ascribed to a value and I want to match each of 
them and then write them out - this is similar to matching attributes off of an 
xml or html element:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Example text:&lt;/strong&gt;&lt;br&gt;Attributes=(Animal=cat; Human=paul; 
Car=ford; Color=green;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Sample 
pattern:&lt;/strong&gt;&lt;br&gt;Attributes=\(((?'type'\w+)(=)(?'value'\w+)\;\s?)+\)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;strong&gt;Problem 1: Named and Unnamed Groups&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This pattern uses 2 named groups - "type" and "value" - to store each of the 
attributes; it also has 2 unnamed groups, one which matches the entire attribute 
string and one which matches the "=" sign between type and value.&lt;/p&gt;
&lt;p&gt;Looking at that pattern, you know that there's going to be 4 groups and, 
using logic you would probably expect them to appear in the following order:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Group 0 : The unnamed entire match&lt;/li&gt;
  &lt;li&gt;Group 1 : The named "type" group&lt;/li&gt;
  &lt;li&gt;Group 2 : The unnamed "=" group&lt;/li&gt;
  &lt;li&gt;Group 3 : The named "value" group&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Unnamed Groups always come first&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first important rule of .NET regex's is that unnamed groups always come 
before named groups when you are enumerating over a Groups collection.&amp;nbsp; So, 
the order of our groups will be:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group 0 : The unnamed entire match&lt;/li&gt;
  &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group 1 : The unnamed "=" group&lt;/li&gt;
  &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group 2 : The named "type" group&lt;/li&gt;
  &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group 3 : The named "value" group&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Problem 2: Groups and Captures&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Another gotcha with this example arises when a user is attempting to write 
out all of the results to the screen.&amp;nbsp; As you can see, there will be:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;1&amp;nbsp;Match - The entire string&lt;/li&gt;
  &lt;li&gt;4 Groups - as we've already seen&lt;/li&gt;
  &lt;li&gt;and 4&amp;nbsp;instances&amp;nbsp;of the attributes.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The question is, how to get each of those 4 attribute values?&amp;nbsp; The 
answer is that each Group has a Captures collection to store each 
"capture".&amp;nbsp; So, the idea is to get a count of the captures for a group and 
then display the value at each index between 0 and the count of captures for 
that group.&lt;/p&gt;
&lt;p&gt;Here's some sample code which demonstrates how you'd do that for the example 
shown above:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; pattern = &lt;span style="COLOR: maroon"&gt;@"Attributes=\(((?'type'\w+)(=)(?'value'\w+)\;\s?)+\)"&lt;/span&gt; ;
&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; input = &lt;span style="COLOR: maroon"&gt;@"Attributes=(Animal=cat; Human=paul; Car=ford; Color=green;)"&lt;/span&gt; ;

Match m = Regex.Match(input, pattern);

&lt;span style="COLOR: blue"&gt;if&lt;/span&gt;( m.Groups[&lt;span style="COLOR: maroon"&gt;"type"&lt;/span&gt;].Success ) {
  
  &lt;span style="COLOR: green"&gt;// this will tell us how many captures we have...
&lt;/span&gt;  &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; matchedItems = m.Groups[&lt;span style="COLOR: maroon"&gt;"type"&lt;/span&gt;].Captures.Count ;

  &lt;span style="COLOR: green"&gt;// now, enumerate the Captures and render the groups for each Capture...
&lt;/span&gt;  &lt;span style="COLOR: blue"&gt;for&lt;/span&gt;( &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; i=&lt;span style="COLOR: maroon"&gt;0&lt;/span&gt;; i&amp;lt;matchedItems; i++ ) {
    
    &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name = m.Groups[&lt;span style="COLOR: maroon"&gt;"type"&lt;/span&gt;].Captures[i].Value ;
    &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; val = m.Groups[&lt;span style="COLOR: maroon"&gt;"value"&lt;/span&gt;].Captures[i].Value ;

    Console.WriteLine(&lt;span style="COLOR: maroon"&gt;"{0} = {1}"&lt;/span&gt;, name, val) ;
  }
}

Console.ReadLine() ;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;And here's the output generated by the above example...&lt;/p&gt;
&lt;p&gt;Animal = cat&lt;br&gt;Human = paul&lt;br&gt;Car = ford&lt;br&gt;Color = green&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx&amp;amp;;subject=Named+Groups%2c+Unnamed+Groups+and+Captures" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx&amp;amp;;title=Named+Groups%2c+Unnamed+Groups+and+Captures" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx&amp;amp;title=Named+Groups%2c+Unnamed+Groups+and+Captures" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx&amp;amp;;title=Named+Groups%2c+Unnamed+Groups+and+Captures" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx&amp;amp;;title=Named+Groups%2c+Unnamed+Groups+and+Captures&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2005/01/13/256.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=256" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Regex/default.aspx">Regex</category></item><item><title>Usage of patterns on RegexLib</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx</link><pubDate>Tue, 07 Dec 2004 22:28:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:255</guid><dc:creator>digory</dc:creator><slash:comments>1</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/255.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=255</wfw:commentRss><description>&lt;p&gt;I often get asked whether patterns found on RegexLib are free for use to 
which my reply is...&lt;/p&gt;
&lt;p&gt;They are free for use but, I'd recommend that, if you use one that you might 
like to place a comment such as:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // pattern found at &lt;a href="http://regexlib.com/AddressOfPattern"&gt;http://regexlib.com/AddressOfPattern&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Reason is that, patterns get updated and also get comments left against them 
so, it's a good way to leave useful info for another developer who may have to 
maintain your code later!&lt;/p&gt;
&lt;p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx&amp;amp;;subject=Usage+of+patterns+on+RegexLib" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx&amp;amp;;title=Usage+of+patterns+on+RegexLib" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx&amp;amp;title=Usage+of+patterns+on+RegexLib" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx&amp;amp;;title=Usage+of+patterns+on+RegexLib" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx&amp;amp;;title=Usage+of+patterns+on+RegexLib&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/12/07/255.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=255" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/RegexLib/default.aspx">RegexLib</category></item><item><title>Regex blogger</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx</link><pubDate>Mon, 22 Nov 2004 17:55:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:254</guid><dc:creator>digory</dc:creator><slash:comments>2</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/254.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=254</wfw:commentRss><description>&lt;P&gt;Just discovered another netizen with a blogging category for regex's:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://weblogs.asp.net/trobbins/category/6948.aspx"&gt;http://weblogs.asp.net/trobbins/category/6948.aspx&lt;/A&gt;&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx&amp;amp;;subject=Regex+blogger" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx&amp;amp;;title=Regex+blogger" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx&amp;amp;title=Regex+blogger" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx&amp;amp;;title=Regex+blogger" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx&amp;amp;;title=Regex+blogger&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/22/254.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=254" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Blogs/default.aspx">Blogs</category></item><item><title>Regex Compiled vs Regex Interpreted</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx</link><pubDate>Sat, 13 Nov 2004 17:49:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:253</guid><dc:creator>digory</dc:creator><slash:comments>0</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/253.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=253</wfw:commentRss><description>&lt;p&gt;David Gutierrez - one of the Regex devs on the &lt;a title="" href="http://www.gotdotnet.com/team/clr/bcl/meettheteam/meettheteam.aspx" &gt;BCL Team&lt;/a&gt; - has posted a great 
article which discusses some of the semantics behind pre-compilation 
of&amp;nbsp;your regex's:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://weblogs.asp.net/BCLTeam/archive/2004/11/12/256783.aspx"&gt;http://weblogs.asp.net/BCLTeam/archive/2004/11/12/256783.aspx&lt;/a&gt;&lt;/p&gt;[ 
Nothing Playing. ]
&lt;p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx&amp;amp;;subject=Regex+Compiled+vs+Regex+Interpreted" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx&amp;amp;;title=Regex+Compiled+vs+Regex+Interpreted" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx&amp;amp;title=Regex+Compiled+vs+Regex+Interpreted" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx&amp;amp;;title=Regex+Compiled+vs+Regex+Interpreted" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx&amp;amp;;title=Regex+Compiled+vs+Regex+Interpreted&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/11/13/253.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=253" width="1" height="1"&gt;</description></item><item><title>First post with PostXING</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx</link><pubDate>Fri, 29 Oct 2004 09:39:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:252</guid><dc:creator>digory</dc:creator><slash:comments>0</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/252.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=252</wfw:commentRss><description>&lt;p&gt;I downloaded and installed PostXING today:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://markitup.aspxconnection.com/"&gt;Project 
Distributor&lt;/a&gt; :: &lt;a href="http://markitup.aspxconnection.com/Groups/Group.aspx?groupId=19"&gt;Blue 
Fenix &lt;/a&gt;:: &lt;a href="http://markitup.aspxconnection.com/Projects/Project.aspx?projectId=12"&gt;PostXING 
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The download comes with source code and is packed full of features.&amp;nbsp; I 
mostly grabbed it for the cross-posting functionality so that I can more easily 
maintain the 2 or 3 blogs that I currently run.&amp;nbsp; The tool not only handles 
cross-posting but also offers rich functionality for commonly used features such 
as:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Inserting syntax highlighted snippets 
  &lt;li&gt;It imports all categories from your blog 
  &lt;li&gt;Allows for, not only blog configurations but also Ftp configs for 
  uploading images and files&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I know that Chris did some work recently on the tool and, although there's 
not much more to add to make it totally awesome I've already noted that it could 
probably do with offline functionality.&amp;nbsp;&amp;nbsp; If you use the tool and have 
ideas about enhancements you can offer them via the feedback form for the 
project:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://markitup.aspxconnection.com/Projects/Project.aspx?projectId=12"&gt;http://markitup.aspxconnection.com/Projects/Project.aspx?projectId=12&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx&amp;amp;;subject=First+post+with+PostXING" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx&amp;amp;;title=First+post+with+PostXING" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx&amp;amp;title=First+post+with+PostXING" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx&amp;amp;;title=First+post+with+PostXING" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx&amp;amp;;title=First+post+with+PostXING&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/10/29/252.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=252" width="1" height="1"&gt;</description></item><item><title>RegexLib Testing Tool - The new Details Grid</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx</link><pubDate>Wed, 08 Sep 2004 02:17:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:251</guid><dc:creator>digory</dc:creator><slash:comments>1</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/251.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=251</wfw:commentRss><description>&lt;P&gt;The other day I blog'ged about the &lt;A href="http://regexadvice.com/blogs/dneimke/archive/2004/09/05/1613.aspx"&gt;new Options panel&lt;/A&gt; and today I'd like to announce another part of the expanded testing tools - the Details Grid:&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="The new Details Grid on RegexLib.com" src="http://www.flws.com.au/Tester_DetailsGrid.png" border=0&gt;&lt;/P&gt;
&lt;P&gt;Initially, the Details Grid displays information about Matches however, you can expand each Match out to view detailed information about the Groups within the Match.&lt;/P&gt;
&lt;P&gt;At the Group level of data you are presented with all of the useful diagnostic information about the regex's matching behaviour such as:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Value&lt;/B&gt; : the captured value of a Group. In the case where a group has sub-captures, the Value is equivalent to the value of the last Capture in the Group.&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Index&lt;/B&gt; : where the capture commenced in the input string.&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Length&lt;/B&gt; : the length of the Value. This is useful when the value contains whitespace or unprintable characters.&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Grp. Num.&lt;/B&gt; : The position of the Group within the Match. This is the number returned from regex.GetGroupNumbers (Refer Extra Information below). It is important to note that Named Groups *always* occur last. That is, no matter where your named group actually occurs within a match, it will always appear at the end of the Matches Groups collection.&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Name&lt;/B&gt; : This is the name of the Group. This is the name returned from regex.GroupNameFromNumber( grpNum ).&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Captures&lt;/B&gt; : This field lets you know whether there are sub-captures for this Group. If there are and you want to see their values, you can switch to TreeView mode and view the contents of the entire Match/Group/Capture hierarchy.&lt;/LI&gt;&lt;/UL&gt;
&lt;HR&gt;

&lt;H3&gt;Extra Information&lt;/H3&gt;&lt;A href="http://weblogs.asp.net/justin_rogers/archive/2004/09/06/226183.aspx"&gt;Regex: Functionality about named/numbered groups everyone should know. &lt;/A&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx&amp;amp;;subject=RegexLib+Testing+Tool+-+The+new+Details+Grid" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx&amp;amp;;title=RegexLib+Testing+Tool+-+The+new+Details+Grid" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx&amp;amp;title=RegexLib+Testing+Tool+-+The+new+Details+Grid" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx&amp;amp;;title=RegexLib+Testing+Tool+-+The+new+Details+Grid" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx&amp;amp;;title=RegexLib+Testing+Tool+-+The+new+Details+Grid&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/07/251.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=251" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Tools+and+Sites/default.aspx">Tools and Sites</category><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/RegexLib/default.aspx">RegexLib</category></item><item><title>RegexLib Testing Tool - The new Options Panel</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx</link><pubDate>Mon, 06 Sep 2004 02:35:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:250</guid><dc:creator>digory</dc:creator><slash:comments>63</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/250.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=250</wfw:commentRss><description>&lt;P&gt;Yesterday Justin blog'ged about the new features that are included in the new testing tool on &lt;a title="RegexLib.com" href="http://regexlib.com" &gt;RegexLib.com&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://weblogs.asp.net/justin_rogers/archive/2004/09/04/225692.aspx"&gt;http://weblogs.asp.net/justin_rogers/archive/2004/09/04/225692.aspx &lt;/A&gt;&lt;/P&gt;
&lt;P&gt;...but I just wanted to expand on that a little. In that article Justin mentioned the new "options" panel and alluded to the fact that we'll be adding all future functionality through that widget. Today I just wanted to highlight some of the functionality that I've added to it for this initial release.&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="The new Options Panel on RegexLib.com" src="http://www.flws.com.au/RETester.png" border=0&gt;&lt;/P&gt;
&lt;P&gt;Firstly, you can see that you can choose whether you are tesing against the .NET engine or against client-side engines (VBScript or Javascript). Depending on which option you choose you will see different mode modifier options on the left hand side. The mode modifiers in the above image reflect the modifiers for the .NET engine. The mode modifier settings that you choose will be persisted between sessions; this means that, if you configure the settings to use: ExplicitCapture and IgnoreCase then, next time you use the tool, those settings will be pre-selected for you. &lt;/P&gt;
&lt;P&gt;The widget can be minimized by toggling the state with the arrow in the top right hand corner of the panel. Again, the state of the panel will be persisted so, if you minimize it, it will be minimized when you re-visit. It's easier to minimize the panel once you have made your initial configuration settings so that you have more space to play with to view matches. &lt;/P&gt;
&lt;P&gt;Clicking on the text of any of the radio choices displays help text about that setting. In the future many more Help features will be added into the panel - most likely in the form of "flyouts" and, for each of them the text will be displayed in the center area of the panel.&lt;/P&gt;
&lt;P&gt;I have to thank Justin Rogers and Thomas 'Aylar' Johansen for their help in getting this new testing tool to its current state. It was Justin's idea to use the panel as an extensible help provider and configuration widget and Thomas used his design skills to bring the panel to life.&lt;/P&gt;
&lt;HR&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.regexlib.com/RETester.aspx"&gt;The testing tool &lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx&amp;amp;;subject=RegexLib+Testing+Tool+-+The+new+Options+Panel" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx&amp;amp;;title=RegexLib+Testing+Tool+-+The+new+Options+Panel" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx&amp;amp;title=RegexLib+Testing+Tool+-+The+new+Options+Panel" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx&amp;amp;;title=RegexLib+Testing+Tool+-+The+new+Options+Panel" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx&amp;amp;;title=RegexLib+Testing+Tool+-+The+new+Options+Panel&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/05/250.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=250" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Tools+and+Sites/default.aspx">Tools and Sites</category><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/RegexLib/default.aspx">RegexLib</category></item><item><title>New Regex Tester</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx</link><pubDate>Sun, 05 Sep 2004 02:05:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:249</guid><dc:creator>digory</dc:creator><slash:comments>3</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/249.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=249</wfw:commentRss><description>&lt;P&gt;Currently I'm in the middle of replacing the testing tool on &lt;a title="RegexLib.com" href="http://regexlib.com" &gt;RegexLib.com&lt;/a&gt;.&amp;nbsp; You can play with the changes that I've made so far at:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.regexlib.com/RETester.aspx"&gt;http://www.regexlib.com/RETester.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The new features include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ability to grab the source from a Url&lt;/LI&gt;
&lt;LI&gt;Ability to grab the source from a file on your PC&lt;/LI&gt;
&lt;LI&gt;Able to test using server-side .NET or client-side Javascript or VBScript&lt;/LI&gt;
&lt;LI&gt;Able to display .NET matches as either a Grid (group view) or a Tree (capture view)&lt;/LI&gt;
&lt;LI&gt;Settings that you make in the new "Options Panel" are persisted between sessions&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There's more to come, but I wanted to get this stuff live because it's already head-and-shoulders ahead of what I had previously!&lt;/P&gt;
&lt;P&gt;Enjoy! :-)&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx&amp;amp;;subject=New+Regex+Tester" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx&amp;amp;;title=New+Regex+Tester" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx&amp;amp;title=New+Regex+Tester" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx&amp;amp;;title=New+Regex+Tester" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx&amp;amp;;title=New+Regex+Tester&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/09/04/249.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=249" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/RegexLib/default.aspx">RegexLib</category></item><item><title>Another interesting timeout pattern</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx</link><pubDate>Mon, 23 Aug 2004 11:37:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:248</guid><dc:creator>digory</dc:creator><slash:comments>4</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/248.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=248</wfw:commentRss><description>&lt;P&gt;I haven't had time to fully investigate the evilness of this pattern but it certainly looked interesting:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern:&lt;/B&gt;
&lt;BR&gt;^(([^\\/:*?&amp;lt;&amp;gt;"|]*(?&amp;lt;![ ]))*~+)(\.[xsl]{3})$

&lt;B&gt;Input String&lt;/B&gt;
$d_ d}ddddddddddddFoo2.xsl.xsl&lt;BR&gt;
&lt;/PRE&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx&amp;amp;;subject=Another+interesting+timeout+pattern" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx&amp;amp;;title=Another+interesting+timeout+pattern" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx&amp;amp;title=Another+interesting+timeout+pattern" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx&amp;amp;;title=Another+interesting+timeout+pattern" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx&amp;amp;;title=Another+interesting+timeout+pattern&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/23/248.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=248" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Samples/default.aspx">Samples</category></item><item><title>Invalid patterns</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx</link><pubDate>Sat, 21 Aug 2004 18:38:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:247</guid><dc:creator>digory</dc:creator><slash:comments>2</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/247.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=247</wfw:commentRss><description>&lt;P&gt;I've spent some time this week looking for interesting ways to create invalid patterns.&amp;nbsp; 2 of my favourites are:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;[\_]&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;STRONG&gt;and...&lt;/STRONG&gt;
&lt;PRE class=CodeSnippet&gt;[a-Z]&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx&amp;amp;;subject=Invalid+patterns" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx&amp;amp;;title=Invalid+patterns" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx&amp;amp;title=Invalid+patterns" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx&amp;amp;;title=Invalid+patterns" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx&amp;amp;;title=Invalid+patterns&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/21/247.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=247" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/NYN/default.aspx">NYN</category></item><item><title>Patterns which caused timeouts to occur</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx</link><pubDate>Thu, 19 Aug 2004 04:18:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:246</guid><dc:creator>digory</dc:creator><slash:comments>4</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/246.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=246</wfw:commentRss><description>&lt;P&gt;It's been 2 or 3 weeks since I &lt;A href="http://regexadvice.com/blogs/DNeimke/archive/2004/07/27/1391/aspx"&gt;added timeout protection&lt;/A&gt; to the &lt;a title="RegexLib.com" href="http://regexlib.com" &gt;RegexLib.com&lt;/a&gt; site. During that period I've averaged 1 or 2 timed out patterns per day. I thought that I'd post a small selection of some which have caused timeout exceptions. &lt;/P&gt;
&lt;P&gt;The following 9 samples show the pattern and the input string which caused the failure; for the last 3 I've just shown "{LARGE BODY OF TEXT}" instead of the actual text which, in each case was a large amount of Html source.&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;Pattern:      ^[a-zA-Z0-9]+((.?|\-*)[a-zA-Z0-9]+)*$ 
&lt;B&gt;Input string: &lt;/B&gt;
asdf.host-name.asd-f.
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
^(([a-zA-Z\d!#$%&amp;amp;'*+-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*"\x20*)*(?&amp;lt;angle&amp;gt;&amp;lt;))?
((?!\.)(\.?[a-zA-Z\d!#$%&amp;amp;'*+-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*")
@
(((?!-)[a-zA-Z\d\-]+(?&amp;lt;!-)\.)+[a-zA-Z]{2,}
|\[
(((?(?&amp;lt;!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}
|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)
\])
(?(angle)&amp;gt;)$
&lt;B&gt;Input string: &lt;/B&gt;
www42af43ds.afsd.fds.ds
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$
&lt;B&gt;Input string: &lt;/B&gt;
hello23423423423424n@aol.c
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
^((?:[a-zA-Z]:)|(?:\\{2}\w+)\$?)\\([^\\/:*?&amp;lt;&amp;gt;"| ](?:[^\\/:*?&amp;lt;&amp;gt;"|]*[^\\/:*?&amp;lt;&amp;gt;"| ])*\\)*((?:[^\\/:*?&amp;lt;&amp;gt;"|]*[^\\/:*?&amp;lt;&amp;gt;"| ])+\.(?:[^\\/:*?&amp;lt;&amp;gt;"|]*[^\\/:*?&amp;lt;&amp;gt;"| ]){2,15})?
&lt;B&gt;Input string: &lt;/B&gt;
C:\RECYCLER\S-1-5-21-878277593-965038143-782984527-1002
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
^\w{1}[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$
&lt;B&gt;Input string: &lt;/B&gt;
gjlglujhL'KJK'LKJL'KLJKL-JKHKJHGK
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$
&lt;B&gt;Input string: &lt;/B&gt;
michael.sumeranoscranton.edu
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
(&amp;lt;table.*align=\"right\"&amp;gt;)((\s*.*\s*)*?)(&amp;lt;table)((.*|\s*)*?)(&amp;lt;/table&amp;gt;)
&lt;B&gt;Input string: &lt;/B&gt;
{LARGE BODY OF TEXT}
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
(&amp;lt;table.*align=\"right\"&amp;gt;)((\s*.*\s*)*?)((\s*.*\s*)*?)(&amp;lt;table)((.*\s*)*?)(&amp;lt;/table&amp;gt;)((\s*.*\s*)*?)(&amp;lt;/table&amp;gt;)
&lt;B&gt;Input string: &lt;/B&gt;
{LARGE BODY OF TEXT}
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class=CodeSnippet&gt;&lt;B&gt;Pattern&lt;/B&gt; 
(&amp;lt;table)((\s*.*\s*)*?).*(&amp;lt;FONT\sFACE=\"arial).*(Related\s Articles).+((\s*.*\s*)*?)(&amp;lt;/table&amp;gt;)((\s*.*\s*)*?)(&amp;lt;/table&amp;gt;) 
&lt;B&gt;Input string: &lt;/B&gt;
{LARGE BODY OF TEXT}
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx&amp;amp;;subject=Patterns+which+caused+timeouts+to+occur" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx&amp;amp;;title=Patterns+which+caused+timeouts+to+occur" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx&amp;amp;title=Patterns+which+caused+timeouts+to+occur" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx&amp;amp;;title=Patterns+which+caused+timeouts+to+occur" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx&amp;amp;;title=Patterns+which+caused+timeouts+to+occur&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/19/246.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=246" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Samples/default.aspx">Samples</category></item><item><title>New testing tool for RegexLib.com</title><link>http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx</link><pubDate>Tue, 17 Aug 2004 04:15:00 GMT</pubDate><guid isPermaLink="false">d291b357-6366-4006-9008-4266c301325a:245</guid><dc:creator>digory</dc:creator><slash:comments>5</slash:comments><comments>http://regexadvice.com/blogs/dneimke/comments/245.aspx</comments><wfw:commentRss>http://regexadvice.com/blogs/dneimke/commentrss.aspx?PostID=245</wfw:commentRss><description>&lt;P&gt;I'm playing around with some ideas for a new testing tool for &lt;A title=RegexLib.com href="http://regexlib.com"&gt;RegexLib.com&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://regexlib.com/BetaTester/TestPage.aspx"&gt;http://regexlib.com/BetaTester/TestPage.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This tool will allow you to test patterns using clientside (VBScript or Javascript) or, serverside (.NET) engines.&amp;nbsp; When using the .NET engine you can also choose to display results in a Grid (group view) or a Tree (captures view).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Feedback&lt;BR&gt;&lt;/U&gt;&lt;/STRONG&gt;I&amp;nbsp;should have it tested and integrated in with the rest of the site within a week (hopefully).&amp;nbsp; If you have any feedback, or, requests for additional features, please either mail me via my contact form or just leave them as a comment below.&lt;/P&gt;
&lt;P&gt;Thanks to Moshe Salomon for the client-side bits :-)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Known bugs:&lt;/U&gt;&lt;/STRONG&gt;&lt;BR&gt;.NET Named groups throw a syntax error when using the angle bracket version, use the single quote version for the time being: i.e.: use &lt;STRONG&gt;(?'nameOfGroup'...)&lt;/STRONG&gt; instead of &lt;STRONG&gt;(?&amp;lt;nameOfGroup&amp;gt;...)&lt;/STRONG&gt;&lt;/P&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx&amp;amp;;subject=New+testing+tool+for+RegexLib.com" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx&amp;amp;;title=New+testing+tool+for+RegexLib.com" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx&amp;amp;title=New+testing+tool+for+RegexLib.com" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx&amp;amp;;title=New+testing+tool+for+RegexLib.com" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx&amp;amp;;title=New+testing+tool+for+RegexLib.com&amp;amp;;top=1" target="_blank" title = "Post http://regexadvice.com/blogs/dneimke/archive/2004/08/17/245.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://regexadvice.com/aggbug.aspx?PostID=245" width="1" height="1"&gt;</description><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/Tools+and+Sites/default.aspx">Tools and Sites</category><category domain="http://regexadvice.com/blogs/dneimke/archive/tags/RegexLib/default.aspx">RegexLib</category></item></channel></rss>