Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   Changes from Older Versions
      . . .
      EEL Programming Changes in Epsilon 13
         Improvements to File-Handling Functions in Epsilon 13
         Display-related Enhancements in Epsilon 13
         More Options for Running Programs in Epsilon 13
      New Features in Epsilon 12
         . . .
         File Enhancements in Epsilon 12
         Directory Editing Changes in Epsilon 12
         Regular Expression Changes in Epsilon 12
         Other Searching Enhancements in Epsilon 12
         Internet-related Enhancements in Epsilon 12
         . . .
      EEL Programming Changes in Epsilon 12
         EEL Changes for Unicode Support in Epsilon 12
         Other EEL Enhancements in Epsilon 12
         New EEL Primitives and Subroutines in Epsilon 12
         Changes to EEL Primitives and Subroutines in Epsilon 12
      . . .

Previous   Up    Next
Directory Editing Changes in Epsilon 12  Changes from Older Versions   Other Searching Enhancements in Epsilon 12


Epsilon User's Manual and Reference > Changes from Older Versions > New Features in Epsilon 12 >

Regular Expression Changes in Epsilon 12

Regular expressions can now match characters based on one of hundreds of named Unicode properties. For instance, match any Cyrillic character by writing <p:Cyrillic>, or any hex digit by writing <p:hex-digit>. You can also use Unicode character names like <Pound Sign>.

You can build character classes using subtraction and intersection. For instance, <alpha|1-5&!x-z> means any alpha character or digit from 1 to 5, but not x, y, or z.

Regular expressions can match based on a character's color via syntax highlighting. <^c:*comment>printf finds uses of printf that aren't commented out. <[c:c-string>" finds " characters that start a string in C mode, ignoring those that end it, or appear quoted inside it, or in comments or other places.

The new regular expression syntax <h:0d 0a 45> makes it easier to search by hex codes. That example is equivalent to the older syntax <#0x0d><#0x0a><#0x45>.

In a regular expression replace, the replacement text can now use the syntax #U to force the rest of the replacement to uppercase (including text substituted from the match using syntax like #1). Using #L or #C forces the remaining text to lowercase, or capitalizes it, respectively. Using #E marks the end of such case modifications; the following replacement text will be substituted as-is. For instance, searching for "(<word>+) by (<word>+)" and replacing it with "#L#2#E By #U#1" will change the match "Two by Four" into "four By TWO".

When you don't use the above syntax, replacing preserves the case of each match according to specific rules, which you can now modify using the new replace-by-case variable. See its documentation for details.

Regular expression replacement text can now include characters specified by name, using the syntax #<Newline>.

Regular expression replacing now works with very long replacement text; previously it was limited to 1000 characters.



Previous   Up    Next
Directory Editing Changes in Epsilon 12  Changes from Older Versions   Other Searching Enhancements in Epsilon 12


Lugaru Copyright (C) 1984, 2012 Lugaru Software Ltd. All Rights Reserved.