New Regular Expression Engine

You can now select Onigmo as the regular expression engine in addition to Boost.Regex. If Onigmo is selected as the regular expression engine, you can use character types such as \p{Han}, \p{Hangul}, \p{Hebrew}, etc. To find more details about the Onigmo regular expression syntax, please view https://github.com/k-takata/Onigmo/blob/master/doc/RE and Unicode Properties https://github.com/k-takata/Onigmo/blob/master/doc/UnicodeProps.txt.

Test results

While Find, Replace, and Filter tasks using some regular expressions are much faster using Onigmo compared to Boost.Regex, Boost.Regex becomes faster with some other regular expressions. Since the development is still in progress, the test results might be changed in the future.

expressionBoost.RegexOnigmo
positive lookbehind(?<=a)b10.23 seconds3.94 seconds
negative lookbehind(?14.77 seconds4.01 seconds
positive lookaheada(?=b)4.02 seconds4.04 seconds
negative lookaheada(?!b)8.48 seconds4.23 seconds
character range[a-c]14.08 seconds5.73 seconds
selectionjohn|jack|james3.55 seconds3.80 seconds
beginning of line^”a3.50 seconds3.61 seconds


* Filter, case insensitive, number of thread 4, 340 MB, 1.92 million line file
Windows 10 (64-bit) Core i7-4790 16GB RAM

Treat CR and LF separately

This version allows you to search and replace CR and LF separately.

If you try to search for a string containing \r (CR) while the Treat CR and LF separately option is disabled, the prompt message “The search string contains CR. Do you want to enable the Treat CR and LF Separately option?” will appear now.

Other New Features

New features

  • If the last line of the document is empty, regular expressions will not match the last line anymore.

New options

  • The Default Regular Expression Engine drop-down list box was added to the Search tab of the Customize dialog box.
  • The Customize button was replaced with Advanced button in the Find/Replace dialog boxes. In the Advanced dialog box, more search options are included now.
  • The Advanced button was added to the Find toolbar.
  • The Show the Start window when the Down key is pressed on a new document check box was added to the Customize Start Window dialog box.

New commands

  • Advanced (Find toolbar)

Plug-in New Features

  • The Collapse All and Extract All commands were added to the context menu on the Symbol list of the Projects plug-in.

Plug-in API New Features

  • The EE_FIND_REPLACE message was added.
  • The Editor_FindReplace, Editor_FindInFiles, and Editor_ReplaceInFiles inline function were added.
  • The FIND_REPLACE_INFO, GREP_INFO_EX, MATCH_REGEX_INFO_EX, and FIND_REGEX_INFO_EX structures were added.

Macro New Features

  • The eeFindMatchDotNL flag was added to the nFlags parameter and eeExFindRegexBoost, eeExFindRegexOnigmo and eeExFindSeparateCRLF flags were added to the nExFlags parameter of the Find method and Replace method of the Selection object.

Acknowledgement

We would like to thank K. Kosako (Oniguruma) and K. Takata (Onigmo) who created the amazing regular expression engine.

Share with friends... Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone