Textwrangler grep regexpression reference? [closed]
Asked Answered
A

1

7

I am searching for a comprehensive table / list of regexpressions as used in Textwrangler. The manual is nice but it lacks an overview that could be checked for quick reference cheat-sheet.

THX ;)

Ahouh answered 2/5, 2014 at 11:4 Comment(1)
Why was this useful, already answered question closed as off-topic instead of just being migrated to Super User?Nodical
H
11

here you go

I've picked out the sections below:

PATTERN MODIFIERS (switches)

i             Case-insensitive
m             Multiline   : allow the grep engine to match at  ^ and $ after and before at \r or \n.
s             Magic Dot   : allows . to match \r and \n
x             Free-spacing: ignore unescaped white space; allow inline comments in grep patterns.

(?imsx)       On
(?-imsx)      Off
(?i-msx)      Mixed

Regex Meta-Characters:

.             Any character except newline or carriage return
[ ]           Any single character of set
[^ ]          Any single character NOT of set
*             0 or more previous regular expression
*?            0 or more previous regular expression (non-greedy)
+             1 or more previous regular expression
+?            1 or more previous regular expression (non-greedy)
?             0 or 1 previous regular expression
|             Alternation
( )           Grouping regular expressions
^             Beginning of a line or string
$             End of a line or string
{m,n}         At least m but most n previous regular expression
{m,n}?        At least m but most n previous regular expression (non-greedy)
\1-9          Nth previous captured group
\&            Whole match                                     # BBEdit: '&' only - no escape needed
\`            Pre-match                                       # PCRE?  NOT BBEdit
\'            Post-match                                      # PCRE?  NOT BBEdit
\+            Highest group matched                           # PCRE?  NOT BBEdit
\A            Beginning of a string
\b            Backspace(0x08)(inside[]only)                   # PCRE?
\b            Word boundary(outside[]only)
\B            Non-word boundary
\d            Digit, same as[0-9]
\D            Non-digit

Case-Change Operators

\E            Change case - acts as an end delimiter to terminate runs of \L & \U.
\l            Change case of only the first character to the right lower case. (Note: lowercase 'L')
\L            Change case of all text to the right to lowercase.
\u            Change case of only the first character to the right to uppercase.
\U            Change case of all text to the right to uppercase.

White-Space or Non-White-Space

\t            Tab
\n            Linefeed
\r            Return
\f            Formfeed
\s            Whitespace character equivalent to [ \t\n\r\f]
\S            Non-whitespace character

\W            Non-word character
\w            Word character[0-9A-Za-z_]
\z            End of a string
\Z            End of a string, or before newline at the end
(?#)          Comment
(?:)          Grouping without backreferences
(?=)          Zero-width positive look-ahead assertion
(?!)          Zero-width negative look-ahead assertion
(?>)          Nested anchored sub-regexp stops backtracking
(?imx-imx)    Turns on/off imx options for rest of regexp
(?imx-imx:…)  Turns on/off imx options, localized in group    # '…' indicates added regex pattern

There is more on the linked to document

Hohenlohe answered 2/5, 2014 at 13:10 Comment(1)
Awesome!!! THX!! Now I get it, it's like Perl, LOL... well kinda. I'm currently writing extremely long regexes and I was wondering if I could put comments on them... well, with the ?imsx mode you can even add nice format to the spaghetti expressions :) COOL!! (I can't vote you up as I still need a few rep points :(Ahouh

© 2022 - 2024 — McMap. All rights reserved.