Regular expression (aka regexp) support

Author: zdenek.socha@fullsys.cz (sochaz)

Support for regular expressions in Uniface 4GL would be very useful. I mean, Uniface syntax (strings) are not so bad, but you can't even validate a correct e-mail address with it. Searching, validating and replacing is so easy with regexp (and so hard without them). I believe, anyone familiar with regular expressions must miss this in Uniface 4GL. Hopefully, POSIX Extended Regular Expression (ERE) syntax should be enough, but something based on Perl regexp (like PCRE?) would be a bit better.

10 Comments

  1. uniface provides a 3GL-interface, COM+ support etc. ; a wide range of ways to include tools of your choice in the uniface features. perhaps someone has already implmented such an add-on. Success, Uli


    Author: ulrich-merkel (ulrichmerkel@web.de)
  2. I'm new to Uniface, but I agree that there should be some kind of regexp implementation. (i miss it, coming from PHP, javascript and C#)


    Author: jasonzuvela (jason_zuvela@yahoo.com)
  3. Yes, we did, of course, we have regular expression in our .dll. (Despite the limitation in 3GL interface, it works.) I just expressed my wish of native regexp support in Uniface itself.


    Author: sochaz (zdenek.socha@fullsys.cz)
  4. Can't you built it your self? Perhaps some members of the community are willing to help....


    Author: lammersma (lammersma@hotmail.com)
  5. Maybe I should clarify my wish. There are several functions in Uniface to work with strings, like $scan, $split, $replace. It is possible to work with strings and/or syntax strings. My wish is, all these functions to work with regular expressions. For example, one can use: 1) $scan("look for o", "o") 2) $scan("look for a number 2", '#') 3) $scan("look for a number 3", $syntax("#")) 4) $scan("look for o", $regexp("o")) The same to apply to other functions, like $split, etc... Hope this helps understand my wish.


    Author: sochaz (zdenek.socha@fullsys.cz)
  6. Regular expressions would make our Uniface 8 -> 9 migration tool so much simpler.

    But I don't think you would need this very often in normal business applications.
    Or am I wrong?


    Author: Theo Neeskens (tneeskens@itblockz.nl)
  7. RegExp makes life so much better!

    Besides the migration mentioned, i would love to have it while parsing XML data, assembling templates (web) and parsing lists.

    [ X ] Uniface native REGEXP support

    [    ] Uniface alternatives (seek, $replace etc)

     

    - GHAN -


    Author: -GHAN- (hansen@ahp-gmbh.de)
  8. Hi

    I just can agree to the which of integrated Uniface regexp support. I made my own shared library based on the T-Rex project (http://tiny-rex.sourceforge.net/), activated via a C implemented signature. However, like would be easier if Uniface functions like $scan or $replace could use natively regexp for search patterns (and replacement pattern for $replace).

    Our development guidelines enforce us to use pure Uniface as longer as it's possible, and so is for string manipulations, text parsing, etc.. Today, without a C component, I have to perform activations (with their limitations/overhead in argument passing). It's still usable, but would be easier and quicker to use directly the proc language.

    Kind regards


    Author: richard.gill (richard.gill@agfa.com)
  9. Well, Theo, I believe you are wrong. We need it so much, that we did it ourselves (in 3GL). But it still would be much easier to have it directly in (native) Uniface. Here are some ideas:

    • search (and replace) in Uniface IDE itself - everyplace like component editor, global updates, listing, etc.
    • validating data - most of current business (or any other) application needs to store e-mail addresses, postal codes, product numbers, etc. most of data can be easily validated using regular expression (some of them can be validated using Uniface syntax codes, but many of them can't)
    • searching - not only end-user needs to look for something, but many searchies is done in our application (many end-user do not understand regular expressions, but we do) - e.g. user wants to search for an e-mail, or postal code (ZIP code in the USA, PSC here in the Czech republic)
    • find and replace - quite common functionality
    • importing files from other application - wee need to import many different ad-hoc formated (text) files (as part of B2B support), so we need to validate their format and parse the content of course
    • may be some other situations, I just did not mentioned here

    These are just situations I know of right now, but there are more, of course.

    I believe, the ability to use regular expression in situation, where Uniface syntax string can be used, would make our life much easier - mainly $scan, $replace, $split, etc.

    Kind regards,
    Zdenek Socha


    Author: sochaz (zdenek.socha@fullsys.cz)
  10. OK, that was the kind of list I was waiting for.
    Now you have my vote for this wish too.


    Author: Theo Neeskens (tneeskens@itblockz.nl)