Find/Replace: which Regex flavours are really used?
Barb Binder triggered my interest in creating an equivalent Find/Replace for FM (see here).
I have an idea of an UI which allows to insert Regex elements by selection from panel with drop down etc.. This shall be opened on click on the button RegEx:

BTW it seems that FM does not check the validity of a RegEx:
^([IVX]+)(.does not create an error message if used for Find. FM just tells “Nothing found” The error is obvious: a mismatch in parentheses.
FM provides three flavours of RegEx syntax; Perl (the default), Grep and Egrep (enhanced Grep). There is a t least one significant difference betwee these flavours: handling of line breaks in the dot operator (any character). See the extensive discussion of this in the RegExBuddy by Jan Goyvaerts .
Therefore it is (for all but simple cases) necessary to know what is implemented (in FM. BTW ExtendScript Scripting guide and FDK reference / programmer’s guide do not know “Regular Expression” nor “regex”).
FM help tells about these flavours:
Perl: perldoc.perl.org, grep: www.robelle.com, egrep www.gnu.org
The help text itself concentrates on the basic RegEx features which have equal syntax in all three flavours (and BTW contains errors).
With all these ambiguities I may end up with this solution:
- The button RegEx help just opens the installed version of RegEx Buddy. If it is not on the system, website www.regular-expressions.info will be opened.
- Or should I take another approach? Just refer to:
http://www.regular-expressions.info/ (by the author of RegEx Buddy)
https://blogs.adobe.com/techcomm/2016/03/framemaker-regular-expressions.html
My questions now:
- What do you think about the whole idea?
- Which RegEx flavour is really used by You?
- Is it necessary to support all three flavours by the select/insert function mentioned before?
- Which Versions of Perl, Grep or Egrep are implemented? FM help refers to the Boost library where a number of versiona are available.
- Is it required that RegEx related information is localised? IMHO the linjgua franca in programming is English…

