|
About |
The Story It all started back in early 2001 when I was working with first beta of Microsoft.Net. My background had primarily been at the time about ten years of Win32/C++/MFC work but I had more recently been working in Java for a couple of years. As I was learning about .Net, I came across regular expressions and a coworker who had done some work in Perl had given me an early understanding of what the could do. I was blown away with being able to be so precise in matching character patterns and in being able to define these expressions. Yet, at the same time I was easily frustrated with how seemingly cryptic regular expressions were. Worst yet, I easily became confused because there were many different variations of regular expressions, much the same way there are dialects of the English language used in America, the UK, Australia and through-out the rest of the world. I quickly realized that the pattern matching syntax of the .Net dialect of regular expressions had it’s own strengths and unique uses. However, unlike in other varients, like Perl, .Net has it’s own namespace (System.Text.RegularExpressions) and various classes (Regex) that had it’s own learning curve which were separate from developing the regex pattern. Making Sense Of It I remember at a job pouring through the documentation and endlessly working with different regular expression patterns. I wrote a lot of small sample programs, just to figure out how different options worked. At first, I would just write console applications, because it was the quickest way to see the effect of various options, especially those found in the RegexOptions enumeration. At times, when I was waiting to hear back from the product integration group (the acronym was actually called PIG, believe it or no) for the company I was working at, I would clean up my production code, adding appropriate documentation and getting it into the best state I could, while I had extra time. Free Time As I would work with regular expressions, from project to project, there were often lag times of six or eight months between projects. On a new project, I would immediately recognize that I could use a regular expression for pattern matching. Yet, I noticed I would often spend a similar amount of time remembering the cryptic notation of regular expressions. Yes, it was a little easier the next time around, I still found myself spending a lot of time writing small sample console applications just to remember how the options worked. It didn’t help that regular expressions were not very well documented by Microsoft. Well, as can happen when waiting for the results from a committee, there were still times I had freed up. I started compartmentalizing some of those pieces of code and putting them into a nice graphical user interface. It was just a start of what Regex Studio is today, but as I would have to revisit the need for patterns, I found my little GUI application made my life a lot easier in putting together these cryptic patterns. Testing The Concept Well, I slowly built up my sample program and added little features here and there when I had open time. It even branched me into various areas that I had always been interested in, like how to implement color syntax highlighting, and how to implement a history list. After I was promoted to a lead position, I was responsible for the work of a team of twelve other developers. When regular expression tasks came up, they would ask for help, and I would bring up my little program, and we would work out the pattern they needed. It inevitabily always lead to them asking for a copy of the utility. I was more than happy to give them something which would increase their productivity. Feedback As people would use it, I got a lot of feedback on it. I was happy that it was being used, which caused me to increase my interest in working on it, and it turned into a personal project that I would work on in the evenings and weekends (yes, I am a geek). Redesign Because the code had utility had never really be designed as a coherent application, the code had turned into something I was real proud of, and parts of the workflow were not as easy as I saw they could be. As a result, I embarked on a new design and a complete rewrite of the program, and that is what Regex Studio is today. I was lucky to get the feedback of all these guys who had been using it. They told me what they liked as well as what they did not. Productivity Happens I wrote the program, and with all this work I have become pretty proficient at coming up with patterns. However, I still find myself more productive using Regex Studio to edit, test and debug my Regex patterns. I hope it proves to be as helpful to you as it has been for me. Thanks for trying it and I look forward to hearing your feedback. |
|