background preloader

Regular Expressions Reference

Regular Expressions Reference
The regular expressions reference on this website functions both as a reference to all available regex syntax and as a comparison of the features supported by the regular expression flavors discussed in the tutorial. The reference tables pack an incredible amount of information. To get the most out of them, follow this legend to learn how to read them. The tables have six columns for each regular expression feature. The final two columns indicate whether your two chosen regular expression flavors support this particular feature. When this legend says "all versions" or "no version", that means all or none of the versions of each flavor that are covered by the reference tables: For the .NET flavor, some features are indicated with "ECMA" or "non-ECMA". For the std::regex and boost::regex flavor there are additional indicators ECMA, basic, extended, grep, egrep, and awk. For the PCRE2 flavor, some replacement string features are indicated with "extended". Related:  Regular Expressions

Example: Matching Floating Point Numbers with a Regular Expression This example shows how you can avoid a common mistake often made by people inexperienced with regular expressions. As an example, we will try to build a regular expression that can match any floating point number. Our regex should also match integers and floating point numbers where the integer part is not given. At first thought, the following regex seems to do the trick: [-+]? Spelling out the regex in words makes it obvious: everything in this regular expression is optional. Not escaping the dot is also a common mistake. When creating a regular expression, it is more important to consider what it should not match, than what it should. Here is a better attempt: [-+]? This is a far better definition. We can optimize this regular expression as: [-+]? If you also want to match numbers with exponents, you can use: [-+]? Did this website just save you a trip to the bookstore?

Pro Git 1.3 Getting Started Git Basics So, what is Git in a nutshell? This is an important section to absorb, because if you understand what Git is and the fundamentals of how it works, then using Git effectively will probably be much easier for you. As you learn Git, try to clear your mind of the things you may know about other VCSs, such as Subversion and Perforce; doing so will help you avoid subtle confusion when using the tool. Git stores and thinks about information much differently than these other systems, even though the user interface is fairly similar; understanding those differences will help prevent you from becoming confused while using it. Snapshots, Not Differences The major difference between Git and any other VCS (Subversion and friends included) is the way Git thinks about its data. Figure 1-4. Git doesn’t think of or store its data this way. Figure 1-5. This is an important distinction between Git and nearly all other VCSs. Nearly Every Operation Is Local Git Has Integrity Git Generally Only Adds Data - Regex Tutorial, Examples and Reference - Regexp Patterns Remove Skype Chat History for Single Contact Introduction I wanted to clear the Skype chat history for a single user, but Skype only allows you to clear the complete chat history, not a single user's contact history. I searched for 3rd party tools on the net but nothing worked for me on Windows 7 / Skype 4.1 At the beginning, I knew nothing about how Skype stored chat history and just entered my username and password to login and chat with friends. After spending a few hours asking Google many questions, I found that Skype was using the following SQLite database to store its messages. System Drive:\<Current User’s application data folder>/Skype/<Skype username>/main.db I tried to read it with SQLitespy, but it was a pain to find and clear messages each time. Using the Code First of all, I had to find a method to deal with an SQLite database file using C#. Reference System.Data.SQLite.dll (Located in C:\Program Files\SQLite.NET\bin\System.Data.SQLite.dll) to allow C# to deal with the SQLite database file.

Regex Tutorial - \b Word Boundaries The metacharacter \b is an anchor like the caret and the dollar sign. It matches at a position that is called a "word boundary". This match is zero-length. There are three different positions that qualify as word boundaries: Before the first character in the string, if the first character is a word character. Simply put: \b allows you to perform a "whole words only" search using a regular expression in the form of \bword\b. Exactly which characters are word characters depends on the regex flavor you're working with. Most flavors, except the ones discussed below, have only one metacharacter that matches both before a word and after a word. Since digits are considered to be word characters, \b4\b can be used to match a 4 that is not part of a larger number. \B is the negated version of \b. Looking Inside The Regex Engine Let's see what happens when we apply the regex \bis\b to the string This island is beautiful. \b cannot match at the position between the T and the h. Tcl Word Boundaries

List of tools for static code analysis This is a list of tools for static code analysis. Language[edit] Multi-language[edit] .NET[edit] JavaScript[edit] Google's Closure Compiler – JavaScript optimizer that rewrites code to be faster and smaller, and checks use of native JavaScript functions.JSHint – A community driven fork of JSLint.JSLint – JavaScript syntax checker and validator. Objective-C, Objective-C++[edit] Clang – The free Clang project includes a static analyzer. Opa[edit] Packaging[edit] Lintian – Checks Debian software packages for common inconsistencies and errors.Rpmlint – Checks for common problems in rpm packages. Perl[edit] PHP[edit] RIPS – A static code analyzer and audit framework for vulnerabilities in PHP applications. PL/SQL[edit] TOAD - A PL/SQL development environment with a Code xPert component that reports on general code efficiency as well as specific programming issues. Pylint – Static code analyzer. Formal methods tools[edit] See also[edit] References[edit] External links[edit]

Regular Expression HOWTO — Python v2.7.2 documentation Introduction The re module was added in Python 1.5, and provides Perl-style regular expression patterns. Earlier versions of Python came with the regex module, which provided Emacs-style patterns. Regular expressions (called REs, or regexes, or regex patterns) are essentially a tiny, highly specialized programming language embedded inside Python and made available through the re module. Regular expression patterns are compiled into a series of bytecodes which are then executed by a matching engine written in C. The regular expression language is relatively small and restricted, so not all possible string processing tasks can be done using regular expressions. Simple Patterns We’ll start by learning about the simplest possible regular expressions. For a detailed explanation of the computer science underlying regular expressions (deterministic and non-deterministic finite automata), you can refer to almost any textbook on writing compilers. Matching Characters \d \s \w Repeating Things Grouping :: Projects SkypeX Beta* | Delete your Skype messages Role: Concept, design, development Have you ever: Typed something you wished you hadn't? Regular price $19.99, beta price $4.99 I'm hoping future releases will include: - Backup of Skype™ conversations - A Skype™ conversation export tool Questions? Only $4.99 Purchase and download in 2 minutes! Works on: Windows 7 | Windows Vista | Windows XP Simple to use: Enter your Skype™ Username Choose a Skype™ conversation Select messages you wish to delete by clicking the gray area on the left. Requires Microsoft .NET Framework version 3.5 or greater. * Although tested, this product is in beta. SkypeX Beta* is not in any way affiliated with or endorsed by Skype™ New features in version 2: Click anywhere in the message row to select the message You can use the CTRL key combined with arrow keys and spacebar to select and unselect messages quickly The message list resizes when you resIze the window.

Example: Matching Numeric Ranges with a Regular Expression Since regular expressions deal with text rather than with numbers, matching a number in a given range takes a little extra care. You can't just write [0-255] to match a number between 0 and 255. Though a valid regex, it matches something entirely different. [0-255] is a character class with three elements: the character range 0-2, the character 5 and the character 5 (again). This character class matches a single digit 0, 1, 2 or 5, just like [0125]. Since regular expressions work with text, a regular expression engine treats 0 as a single character, and 255 as three characters. The regex [0-9] matches single-digit numbers 0 to 9. [1-9][0-9] matches double-digit numbers 10 to 99. Matching the three-digit numbers is a little more complicated, since we need to exclude numbers 256 through 999. 1[0-9][0-9] takes care of 100 to 199. 2[0-4][0-9] matches 200 through 249. Putting this all together using alternation we get: [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5].

Features / Community - GitHub Advanced Regular Expression Tips and Techniques Twice a month, we revisit some of our readers’ favorite posts from throughout the history of Nettuts+. Regular Expressions are the Swiss Army knife for searching through information for certain patterns. They have a wide arsenal of tools, some of which often go undiscovered or underutilized. Today I will show you some advanced tips for working with regular expressions. Adding Comments Sometimes, regular expressions can become complex and unreadable. For example, here is something we might use to check for US phone numbers. It can become much more readable with comments and some extra spacing. Let's put it within a code segment. The trick is to use the 'x' modifier at the end of the regular expression. Using Callbacks In PHP preg_replace_callback() can be used to add callback functionality to regular expression replacements. Sometimes you need to do multiple replacements. Let's look at this example, where we have an e-mail template. Notice that each replacement has something in common. Other

Regular Expression Examples Below, you will find many example patterns that you can use for and adapt to your own purposes. Key techniques used in crafting each regex are explained, with links to the corresponding pages in the tutorial where these concepts and techniques are explained in great detail. If you are new to regular expressions, you can take a look at these examples to see what is possible. RegexBuddy offers the fastest way to get up to speed with regular expressions. Oh, and you definitely do not need to be a programmer to take advantage of regular expressions! Grabbing HTML Tags <TAG\b[^>]*>(.*?) <([A-Z][A-Z0-9]*)\b[^>]*>(.*?) Trimming Whitespace You can easily trim unnecessary whitespace from the start and the end of a string or the lines in a text file by doing a regex search-and-replace. More Detailed Examples Numeric Ranges. Matching a Floating Point Number. Matching an Email Address. Matching an IP Address. Matching Valid Dates. Finding or Verifying Credit Card Numbers. Matching Complete Lines.

Popular Tools, Utilities and Programming Languages That Support Regular Expressions These tools and utilities have regular expressions as the core of their functionality. grep - The utility from the UNIX world that first made regular expressions popular PowerGREP - Next generation grep for Microsoft Windows RegexBuddy - Learn, create, understand, test, use and save regular expressions. RegexMagic - Generate regular expressions using RegexMagic's powerful patterns instead of the cryptic regular expression syntax. General Applications with Notable Support for Regular Expressions There are a lot of applications these days that support regular expressions in one way or another, enhancing certain part of their functionality. EditPad Lite - Basic text editor that has all the essential features for text editing, including powerful regex-based search and replace. EditPad Pro - Convenient text editor with a powerful regex-based search and replace feature, as well as regex-based customizable syntax coloring and file navigation. Programming Languages and Libraries Databases