Regular Expression Feature Request

2007-03-30
2012-11-13
  • Hi,

    I noticed that a couple of useful regex symbols aren't supported, the two I tried were | and ?. | is alternation. The specific example I tried was (<code>|</code>), pretty simple. When that didn't work I decided to try another method, </?code>, but found that wasn't supported either.

    If you could support those two methods that would be great.

    -Kerry

    P.S. I ended up having to do </*code> which is a bit sloppy but worked fine since it wasn't that important of a document.

     
    • Zakk
      Zakk
      2007-03-31

      Hello,

      Agree with the previous post.

      I saw the code of N++ where all regex stuff is delegated to some poor, completely non-standard, badly documented scintillas' function. Why?!

      I would find quite reasonable to support standard Perl compatible regular expressions in N++ (please see http://www.pcre.org\). As far as I know there exists a stable FREE implementation in C/C++.

      P.S.: honestly, RegEx is the only thing which prevents me from using N++. All the rest is quite nice really ;)

      --
      Good luck,
      Alexander

       
      • I used to use Scintilla a lot, but it takes for ever to load. I was looking for another lightweight text editor several weeks ago, and I found N++.

        I love it... almost.  It loads quickly, and the UI is 100% better than Scintilla's. Unforunately, regex support is *very* basic. If you guys aren't using regex in your search/replace (when you work), you're missing out.

        On a side note, There is a typo in the second example ("You have a document with a lot of dates, which are in German date format...") given on the N++ regex page, here:
        http://notepad-plus.sourceforge.net/uk/regExpList.php

        [Using the text:]
        31.12.97 became 97-12-31 and 14.08.05 became 05-08-14 and the IP address 14.13.14.14 did not change, you're done :-)

        [Then find/replace with:]
        Find what : ([^0-9])([0123][0-9])\.([01][0-9])\.([0-9][0-9])([^0-9])
        Replace with : \1\4-\3-\2\5

        [Gives you the following result:]
        97-12-31 became 97-12-31 and 05-08-14 became 05-08-14 and the IP address 14-13-14.14 did not change, you're done :-)

        In other words... the IP address, 14.13.14.14, DOES change.

        - David J

         
    • Zakk
      Zakk
      2007-03-31