C Regex Cheat Sheet



  1. C Sharp Regex Cheat Sheet
  2. Regular Expression Cheat Sheet Python
  3. C# Regex Cheat Sheet
  4. Regex Cheat Sheet Powershell

Anchors

Start of string, or start of line in multi-line pattern
Start of string
End of string, or end of line in multi-line pattern
End of string
Word boundary
Not word boundary
Start of word
End of word

Character Classes

Control character
White space
Not white space
Digit
Not digit
Word
Not word
Hexade­cimal digit
Octal digit

POSIX

Upper case letters
Lower case letters
All letters
Digits and letters
Digits
Hexade­cimal digits
Punctu­ation
Space and tab
Blank characters
Control characters
Printed characters
Printed characters and spaces
Digits, letters and underscore

Assertions

Lookahead assertion
Negative lookahead
Lookbehind assertion
Negative lookbehind
Once-only Subexp­ression
Condition [if then]
Condition [if then else]
Comment

Quanti­fiers

0 or more
Exactly 3
1 or more
3 or more
0 or 1
3, 4 or 5

Escape Sequences

Escape following character
Begin literal sequence
End literal sequence
“­Esc­api­ng” is a way of treating characters which have a special meaning in regular expres­sions literally, rather than as special charac­ters.

Common Metach­ara­cters

[
$
*
)
?
>

Special Characters

New line
Carriage return
Tab
Vertical tab
Form feed
Octal character xxx
Hex character hh

Groups and Ranges

Any character except new line (n)
a or b
Group
Passive (non-c­apt­uring) group
Range (a or b or c)
Not (a or b or c)
Lower case letter from a to q
Upper case letter from A to Q
Digit from 0 to 7
Group/­sub­pattern number “­x”

Pattern Modifiers

Global match
Case-i­nse­nsitive
Multiple lines
Treat string as single line
Allow comments and whitespace in pattern
Evaluate replac­ement
Ungreedy pattern

String Replac­ement

nth non-pa­ssive group
“­xyz­” in /^(abc­(xy­z))$/
“­xyz­” in /^(?:a­bc)­(xyz)$/
Before matched string
After matched string
Last matched string
Entire matched string

Made by Dave Child Download os mojave macbook pro 2013.

When you want to learn regex, it's best to start simply, and expand your knowledge as you find yourself needing more powerful expressions. At first, regex examples will seem like a foreign language. Just looking at a regular expressions cheat sheet won't help; you first have to understand where to use regex and why you want to use it. Regular expressions can be made case insensitive using (?i). In backreferences, the strings can be converted to lower or upper case using L or U (e.g. This requires PERL = TRUE. CC BY Ian Kopacka. ian.kopacka@ages.at Regular expressions can conveniently be created using rex::rex.

Rex eats regular expressions for breakfast. And so can you! This regex tutorial, one of the most detailed on the web, takes you all the way to mastery.
This page explains what makes this site special among all other regex sites, but first let's answer a burning question:
What is the meaning of life?
That's easy. As per the regex humor page, it's simply
^(?=(?!(.)1)([^DO:105-93+30])(?-1)(?<!d(?<=(?![5-90-3])d))).[^WHY?]$
Now for the other burning question…

What is a Regex?

First, a regex is a text string. For instance, foo is a regex. So is [A-Z]+:d+.
Those text strings describe patterns to find text or positions within a body of text. For instance, the regex fooRegex matches the string foo, the regex [A-Z]+:d+ matches string fragments like F:1 and GO:30, and the regex (?<=[a-z])(?=[A-Z]) matches the position in the string CamelCase where we shift from a lower-case letter to an upper-case letter.
Typically, these patterns (which can be beautifully intricate and precise) are used for four main tasks: to find text within a larger body of text; to validate that a string conforms to a desired format; to replace text (or insert text at matched positions, which is the same process); and to split strings.
For instance, the CamelCase pattern from the last paragraph can be used to split MyLovelyValentine into its three component words. And you could use the regex _d+_ to find digits within underscores (as in _12_) and to replace the underscores with double dashes, yielding --12--, something you could not do with a conventional search-and-replace (details for that technique are in the recipe about replacing one delimiter with another).
Who does this work of finding, replacing, splitting? A Regexregex engine. For instance, you can find regex engines in text editors such as Notepad++ and EditPad Pro. You also find regex engines ready to roar in most programming languages—such as C#, Python, Perl, PHP, Java, JavaScript and Ruby.
Let's compress the definition from the earlier paragraphs:
A regex is a text string that describes a pattern that a regex engine uses in order to find text (or positions) in a body of text, typically for the purposes of validating, finding, replacing or splitting.

Is a Regex the same as a Regular Expression?
Mostly yes, with a little bit of no. At this stage, this is a semantic question—it depends on what one means by regular expression. That topic and other juicy details are discussed on the page about Regex vs. Regular Expressions.

About this Site

Before we dive in—and only if you have time—I'd like to introduce this site and what makes it special.
I love regular expressions. They are a small computer language of their own.
When I was a young dinosaur, I didn't take the time to properly learn the syntax, largely because I really didn't feel like learning another language. Who needs regex, I thought, when your programming language has functions that let you dig into strings from the left, the middle and the right?
What's more, the raw syntax you usually see in code that contains regexes used to intimidate me. Who wants to deal with a language that looks like this?
(?s)/*(?:(?!*/)[*$ _/+-])*(.*?)[*$ _/+-]*?*/
It is well worth investing a bit of time in Regular Expressions. You won't look back!
As it turns out, you really don't have to write your regular expressions like this. In many regex flavors, you can aerate your regex just like code, indenting and inserting comments as you go. If you walk with me through this site, you will be able to understand the expression above. Just as a preview, here is how the very same regex might look once 'aerated' and commented, on multiple lines:
No doubt about it, even with comments and breathing room, there is something raw and experimental about writing a regex pattern.
Besides, how well your pattern performs doesn't only depend on applying correct syntax. There are several ways of doing things, and various regex engines may optimize some of these ways behind your back.
With regex, you are stepping down to a fairly low level, within earshot of the machine room. I like that. And I've been liking it all the more since learning about tools and safeguards to keep me from falling into the boiler.

A (hopefully) Different Presentation of Regex

To really learn, you need to see the same information in different ways.
There are excellent web pages about regex. Not many, but there are some, and I reference my favorite ones throughout the site. Then there are many pages that repeat the same old syntax reference. The problem is that for unfamiliar technical information to anchor itself in your mind—or at least in mine—you need to see it presented from various angles. When I started learning regex, as I was hopping from page to page and book to book, the content was much alike so the 'information tree' wasn't yielding all its fruits. As a result, several questions that cut diagonally through the field of regex were staying unresolved.
RexEgg tries to present regular expressions a bit differently, in the hope that these different angles help many people become more grounded in their knowledge of regex. If you are looking for a drawn-out primer, this is not the place, as I don't see the need to pollute our beautiful world wide web with another explanation of how to match 'foo' in 'foo bar'. But if you take your time to read the carefully-built tables on the quick-launch page then perhaps the page about (? … ) syntax, you will experience what may be the most accelerated regex introduction around.

What Will you Find on this Site

Oh, yes, and forget about practice, that's completely overrated. Just kidding.
Get ready, because as far as I know, this site is one of the two most comprehensive regex sources on the net—along with Jan Goyvaerts excellent regex tutorial site. It aims to fill gaps in how regex information is presented elsewhere, including the major regex books. Here are some of the things you will find here.
✽ A step-by-step explanation of simple and advanced regular expressions crafted for various contexts (such as text matching, file renaming, search-and-replace).
✽ A presentation of the many contexts where you may run into regular expressions (from Apache to your html editor and file manager), complete with examples.
✽ A reference about (? … )—to reduce confusion by bringing all the pieces of syntax that start with an opening parenthesis and a question mark into a single place.
✽ A discussion of Conditional Regexes, a topic about which there is little information.
✽ A discussion of Recursive Regexes, a topic about which there is very little information.
✽ Pages dedicated to regex in C#, Python, PHP and other languages.
✽ Plenty of C Regex Cheat Sheettips & tricks.
✽ Sections about regex tools and regex books.
✽ And much more!
I wish you lots of fun on your journey with regular expressions.
Smiles,
Rex
Don't Miss The Regex Style Guide
and The Best Regex Trick Ever!!!

Quick-Start: Regex reference table

C Sharp Regex Cheat Sheet

1-10 of 10 Threads
Subject: Awesome!

Subject: Super helpful

Thanks for the detailed page on capturing groups and matching repeating expressions, this website is the best for regex!
Subject: At the mercy of rexegg

After 24 years of programming, I am still putting off learning how to really use regex, but rely on it daily. Thanks for making a big deal out of regex, rexegg.com!
Subject: One stop shop for all RegEx things

I stumbled upon your site first by mistake and from then on, I come here on purpose. Best place for any and all RegEx reference.
C Regex Cheat Sheet
Subject: Great site

Thanks for all the work you put into this site. It's invaluable!!
Subject: 5 Stars

I only read the landing page, but that dinosaur header is one of the best headers ever made!
Subject: RE: 5 Stars

Thanks man, wow, first time someone compliments me on it. :-) Usually people moan (rightfully so, I guess) that I haven't tweaked the site for mobile.
Subject: The Best Regex page on the web

I don't know whether this is the best page on the web. But it was the first I found after searching several hours which gave an understandable summary of the essentials. Thank You.
Subject: Regex fan

One of the best Regex Tutorial on the net! Thank you so much.
Subject: Regex Beginner

I'm currently a student learning Javascript. Regex isn't a focus of the program but there is something so intriguing about it and I had to learn more. So glad that I found your site. Thank you very much for taking the time to put this together. It is a truly incredible resource!
Regex
Subject: The Best Regex page on the web

Regular Expression Cheat Sheet Python

These are the best Regex pages on the web, bar none.
Subject: RE: The Best Regex page on the web

C# Regex Cheat Sheet


Thank you so much for your encouragements, Max! You made my day. :)

Regex Cheat Sheet Powershell