The gMan nixWiki

Because the mind is made of Teflon...

User Tools

Site Tools


cheat_sheets_regex

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cheat_sheets_regex [2022/09/25 14:02] gmancheat_sheets_regex [2023/02/11 14:34] (current) – [Groups and Ranges] gman
Line 5: Line 5:
 [[https://cheatography.com/davechild/cheat-sheets/regular-expressions/|Good Cheat Sheet]] | [[https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285|Basic Explanation]] [[https://cheatography.com/davechild/cheat-sheets/regular-expressions/|Good Cheat Sheet]] | [[https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285|Basic Explanation]]
  
----- 
  
 ===== Anchors ===== ===== Anchors =====
  
- +^  Syntax  ^ Description                                             ^
-^  Syntax  ^ Description ^+
 |  %%^%%   | Start of string, or start of line in multi-line pattern | |  %%^%%   | Start of string, or start of line in multi-line pattern |
 |  $       | End of string, or end of line in multi-line pattern     | |  $       | End of string, or end of line in multi-line pattern     |
Line 18: Line 16:
 ===== Quantifiers ===== ===== Quantifiers =====
  
-^ Syntax ^ Description ^ + Syntax    ^ Description                                 
-|  *        | 0 or more                                   | +|  *         | 0 or more                                   | 
-|  ?        | 0 or 1                                      | +|  ?         | 0 or 1                                      | 
-|  +        | 1 or more                                   | +|  +         | 1 or more                                   | 
-|  {3}      | Exactly 3                                   | +|  {3}       | Exactly 3                                   | 
-|  {3,}     | 3 or more                                   | +|  {3,}      | 3 or more                                   | 
-|  {3,5}    | 3, 4 or 5                                   |  +|  {3,5}     | 3, 4 or 5                                   |  
-|  //note// | Add a ? to a quantifier to make it ungreedy |+|  //note//  | Add a ? to a quantifier to make it ungreedy |
  
 ---- ----
  
-+===== Escape ===== 
 + 
 +^  Syntax  ^ Description                ^ 
 +       | Escape following character | 
 + 
 +**//­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. 
 + 
 +---- 
 + 
 +===== Groups and Ranges ===== 
 + 
 +^  Syntax      ^ Description                        ^ 
 +|  .           | Any character except new line (\n) | 
 +|  (a%%|%%b)   | a or b                             | 
 +|  (...)       | Group, capturing                   | 
 +|  (?:...)     | Passive (non-c­apt­uring) group      |  
 +|  [abc]       | Range (a or b or c)                | 
 +|  [%%^%%abc]  | Not (a or b or c)                  |  
 +|  [a-q]       | Lower case letter from a to q      | 
 +|  [A-Q]       | Upper case letter from A to Q      |  
 +|  [0-7]       | Digit from 0 to 7                  | 
 + 
 +Use a group to "capture and replace"
 +  * ''a(bc)'' parentheses create a capturing group with value ''bc'' 
 +  * The parentheses are used to create "groups," which then get assigned a base-1 index, accessible in a //replace// with a ''$'' (i.e., the first parentheses-bounded (characters) become a group that can be referenced by ''$1'', the second group would be ''$2'', the third ''$3'', etc.). 
 +  * NOTE: in **gedit** you reference with a backslash: ''\'' not a ''$'' (i.e., ''\1\2\3'', etc.). 
 +  * See the follow table regarding **string replacements**. 
 + 
 +---- 
 + 
 +===== String Replac­ement ===== 
 + 
 +^  Syntax      ^ Description           ^ 
 +|  $n  | nth non-pa­ssive group         | 
 +|  $2  | %%"­xyz­" in /^(abc­(xy­z))$/%%   | 
 +|  $1  | %%"­xyz­" in /^(?:a­bc)­(xyz)$/%% | 
 +|  $`  | Before matched string         | 
 +|  $'  | After matched string          | 
 +|  $+  | Last matched string           | 
 +|  $&  | Entire matched string         | 
 + 
 +**Note:** Some regex implem­ent­ations use \ instead of $. 
 + 
 +---- 
 + 
 +===== Character Classes ===== 
 + 
 +^  Syntax  ^ Description   ^ 
 +|  \c  | Control character | 
 +|  \s  | White space       | 
 +|  \S  | Not white space   | 
 +|  \d  | Digit             | 
 +|  \D  | Not digit         | 
 +|  \w  | Word              | 
 +|  \W  | Not word          | 
 +|  \x  | Hexade­cimal digit | 
 +|  \O  | Octal digit       | 
 + 
 +---- 
 + 
 +===== POSIX ===== 
 + 
 +^  Syntax      ^ Description                    ^ 
 +|  [:upper:  | Upper case letters             | 
 +|  [:lower:  | Lower case letters             | 
 +|  [:alpha:  | All letters                    | 
 +|  [:alnum:  | Digits and letters             | 
 +|  [:digit:  | Digits                         | 
 +|  [:xdigit: | Hexade­cimal digits             | 
 +|  [:punct:  | Punctu­ation                    | 
 +|  [:blank:  | Space and tab                  | 
 +|  [:space:  | Blank characters               | 
 +|  [:cntrl:  | Control characters             | 
 +|  [:graph:  | Printed characters             | 
 +|  [:print:  | Printed characters and spaces 
 +|  [:word:   | Digits, letters and underscore | 
 + 
 +----
  
cheat_sheets_regex.1664114538.txt.gz · Last modified: by gman