Throwing this out there because I'd never seen Regex before and couldn't find the pattern options I needed.
It may already be out there or it may be pinned somewhere I haven't seen yet... Either way
(Raw lift from this site)
https://www.debuggex.com/cheatsheet/regex/pcre
Regular Expression Basics
. Any character except newline
a The character a
ab The string ab
a|b a or b
a* 0 or more a's
\ Escapes a special character
Regular Expression Quantifiers
* 0 or more
+ 1 or more
? 0 or 1
{2} Exactly 2
{2, 5} Between 2 and 5
{2,} 2 or more
Default is greedy. Append ? for reluctant.
Regular Expression Groups
(...) Capturing group
(?P<Y>...) Capturing group named Y
(?:...) Non-capturing group
(?>...) Atomic group
(?|...) Duplicate group numbers
\Y Match the Y'th captured group
(?P=Y) Match the named group Y
(?R) Recurse into entire pattern
(?Y) Recurse into numbered group Y
(?&Y) Recurse into named group Y
\g{Y} Match the named or numbered group Y
\g<Y> Recurse into named or numbered group Y
(?#...) Comment
Regular Expression Character Classes
[ab-d] One character of: a, b, c, d
[^ab-d] One character except: a, b, c, d
[\b] Backspace character
\d One digit
\D One non-digit
\s One whitespace
\S One non-whitespace
\w One word character
\W One non-word character
Regular Expression Assertions
^ Start of string
\A Start of string, ignores m flag
$ End of string
\Z End of string, ignores m flag
\b Word boundary
\B Non-word boundary
\G Start of match
(?=...) Positive lookahead
(?!...) Negative lookahead
(?<=...) Positive lookbehind
(?<!...) Negative lookbehind
(?()|) Conditional
Regular Expression Escapes
\Q..\E Remove special meaning
Regular Expression Flags
i Ignore case
m ^ and $ match start and end of line
s . matches newline as well
x Allow spaces and comments
J Duplicate group names allowed
U Ungreedy quantifiers
(?iLmsux) Set flags within regex
Regular Expression Special Characters
\n Newline
\r Carriage return
\t Tab
\0 Null character
\YYY Octal character YYY
\xYY Hexadecimal character YY
\x{YY} Hexadecimeal character YY
\cY Control character Y
Regular Expression Posix Classes
[:alnum:] Letters and digits
[:alpha:] Letters
[:ascii:] Ascii codes 0 - 127
[:blank:] Space or tab only
[:cntrl:] Control characters
[:digit:] Decimal digits
[:graph:] Visible characters, except space
[:lower:] Lowercase letters
[:print:] Visible characters
[:punct:] Visible punctuation characters
[:space:] Whitespace
[:upper:] Uppercase letters
[:word:] Word characters
[:xdigit:] Hexadecimal digits
It is currently March 28th, 2024, 6:17 pm
PCRE Regex Cheatsheet
Re: PCRE Regex Cheatsheet
So like most of my adventures I found what I needed the hard way.
I meant it when I said, thank you for all you do - even if it seems insist on needlessly doing it myself
I meant it when I said, thank you for all you do - even if it seems insist on needlessly doing it myself
Re: PCRE Regex Cheatsheet
Regex101.com is pretty awesome too.
- eclectic-tech
- Rainmeter Sage
- Posts: 5382
- Joined: April 12th, 2012, 9:40 pm
- Location: Cedar Point, Ohio, USA
- Contact:
Re: PCRE Regex Cheatsheet
I'll second that... I have learned a lot by use RegEx101.com!
Re: PCRE Regex Cheatsheet
Ah yes, REGEX101, totally doesn't have some exclusive features like \U or \L that don't work in RM
saying this because trying to do [:upper:] in regexp substitution doesn't work :(
saying this because trying to do [:upper:] in regexp substitution doesn't work :(
- jsmorley
- Developer
- Posts: 22628
- Joined: April 19th, 2009, 11:02 pm
- Location: Fort Hunt, Virginia, USA
Re: PCRE Regex Cheatsheet
Yeah, it's unfortunate that those POSIX classes like [:lower:] don't work. Some of them would be pretty handy, as least as a perhaps more intuitive way of expressing some of those character classes. There are ways to replicate most of them using standard PCRE regular expression though.
https://www.regular-expressions.info/posixbrackets.html
So for instance Substitute="[:lower:]":"" could be Substitute="[a-z]":""
Or maybe for German: Substitute="[a-zäöü]":"".
Re: PCRE Regex Cheatsheet
What are you guys on about?jsmorley wrote: ↑December 7th, 2019, 12:49 pm Yeah, it's unfortunate that those POSIX classes like [:lower:] don't work. Some of them would be pretty handy, as least as a perhaps more intuitive way of expressing some of those character classes. There are ways to replicate most of them using standard PCRE regular expression though.
https://www.regular-expressions.info/posixbrackets.html
So for instance Substitute="[:lower:]":"" could be Substitute="[a-z]":""
Or maybe for German: Substitute="[a-zäöü]":"".
Substitute = "[[:lower:]]" : "" works just fine lol.
Posix character classes are just 'characters' in and of themselves and can only be used inside a character class. It's basically shorthand that gets expanded.
In fact, if you punch your code in on Regex101 with the PCRE flavour selected, which should be the default, it'll even tell you this.
Oh, and even the website JSMorley linked explains this.