User Tools

Site Tools


Regular_Expressions

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
Regular_Expressions [2019/02/03 11:16]
ccstone [Software]
Regular_Expressions [2021/04/08 00:16]
peternlewis [Capture Groups]
Line 27: Line 27:
  
 ^Purpose^Pattern to Use^Description^ ^Purpose^Pattern to Use^Description^
-|Global|NONE|All searches are global in Keyboard Maestro.\\ This is often indicated in other tools by the `/g` modifier.|+|Global|NONE|The [[action:​Search_using_Regular_Expression|Search using Regular Expression Action]] will return the _first_ match it finds in the source string.\\ ​ In order to make it be a "global" search, you need to put this Action in a [[action:​For_Each|For Each Action]] that uses the [ [[collection:​Substrings_In|Substrings Matching in]] ] [[:​Collections|Collection]]. ​ This will loop through all matches found in the source string.\\ This is often indicated in other tools by the `/g` modifier.|
 |Case Insensitive|`(?​i)`|Matching will be in a case-insensitive manner.\\ ​ In some Actions this is NOT necessary since the Action already provides an "​ignoring case" option.| |Case Insensitive|`(?​i)`|Matching will be in a case-insensitive manner.\\ ​ In some Actions this is NOT necessary since the Action already provides an "​ignoring case" option.|
 |Dot includes EOL|`(?​s)`|A "​`.`"​ in a pattern will match a line terminator in the input text. Note that a CR LF pair in text behave as a single line terminator, and will match a single "​."​ in a RE pattern.| |Dot includes EOL|`(?​s)`|A "​`.`"​ in a pattern will match a line terminator in the input text. Note that a CR LF pair in text behave as a single line terminator, and will match a single "​."​ in a RE pattern.|
Line 39: Line 39:
   * Use the form of `$<​CG#>​`,​ or `\<​CG#>​` (in ver 8+) in the Action Replace box, where `<​CG#>​` is the number for the capture group. ​   * Use the form of `$<​CG#>​`,​ or `\<​CG#>​` (in ver 8+) in the Action Replace box, where `<​CG#>​` is the number for the capture group. ​
   * Examples: ​   * Examples: ​
-    * `$1, $2, $3+    * `$1``$2``$23` 
-    * `\1, \2, \3`+    * `${1}`, ${2}`, ${23}`,  
 +    * `${name}` - named capture group (v9.2+, 10.13+) 
 +    * `\1``\2``\3` - single digit only (v8.0+)
   * This is the same as `\<​CG#>​` used in other apps/​languages,​ like BBEdit.   * This is the same as `\<​CG#>​` used in other apps/​languages,​ like BBEdit.
 +  * The zeroth capture group (eg `$0`) is the entire match.
  
 For more information,​ see [[https://​www.regular-expressions.info/​brackets.html | Capture Groups]]. For more information,​ see [[https://​www.regular-expressions.info/​brackets.html | Capture Groups]].
Line 149: Line 152:
   * [[https://​regex101.com|RegEx101.com]] -- An Outstanding and Comprehensive Online RegEx Analyzer.   * [[https://​regex101.com|RegEx101.com]] -- An Outstanding and Comprehensive Online RegEx Analyzer.
   * [[http://​regexr.com/​|Regexr]] -- Regex testing and explaining, examples and references.   * [[http://​regexr.com/​|Regexr]] -- Regex testing and explaining, examples and references.
 +
 ==== Books ==== ==== Books ====
  
Regular_Expressions.txt · Last modified: 2022/11/10 03:29 by ccstone