• Exception EAccessViolation in module HTMLTag_unicode.dll at 0005EDC8

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Block commenting doesn't seem to be working properly

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Newbie needs helps

    5
    0 Votes
    5 Posts
    5k Views
    guy038G

    Hello Daniel and Andreas, and All,

    As soon as you’re looking for couples (), [], {}, <>… in a text, containing unlimited nested respective couples (), [], {}, <>, you absolutely need to use a very strong feature of PCRE regex : the recursive patterns. If you don’t, it quite impossible to handle any arbitrary nesting depth !

    Generally speaking, you automatically create a recursive pattern, when you add a recursive call to a group, located INSIDE the sub-pattern whose it makes a reference.

    For instance, let’s suppose the general regex ....(....(?n)....).... and that the showed group is the group n. Then, the form (?n), located inside the group n, is a recursive call to that group n

    Concerning your problem, Daniel, the solution is the regex, below :

    (^([^()\r\n])*(\(((?2)|(?3))*\))(?2)*\r?\n)+

    You may use the PCRE_EXTENTED option (?x) to get the regex :

    (?x) ( ^ ([^()\r\n])* ( \( ( (?2) | (?3) )* \) ) (?2)* \r?\n )+

    These regexes look for any consecutive sequence of entire lines, with their End of Line character(s), whose each of them :

    Is, of the general form, ....(.......).....

    Contents well-balanced nested couples (), inside the upper-level block (....)

    So, Daniel, if you leave the replace field empty, you’ll get, ONLY, the lines where the number of opening round brackets is different from the number of closing round brackets, or lines without any round bracket at all !

    For instance, these regexes, above, don’t match any of these following lines :

    abcdef
    abc(def
    a(b)def)ghi
    a(bc(((d))ef)g

    But they do match, in one go, the block of these seven following lines, with well-balanced couples of () :

    abc(de)f
    (a(bdef)ghi)
    a(bc(((d))e)f)g
    a()bc
    ((ab(cde((fgh)ij)kl))mno)pqr
    ab(c(de(fgh(ijk))lm)((()))n()()op)qrs

    In short :

    The form (?2) is a NON recursive call to the sub-pattern [^()\r\n]

    The form (?3) is a recursive call to the sub-pattern \( ( (?2) | (?3) )* \)

    The anchor ^, at beginning and \r?\n, at the end, allow to cover an entire line, which can be repeated, due to the final + sign, applying to group 1

    The opening and closing round brackets need to be escaped \( and \). Just notice that escaping round brackets, inside the class character [....], at the beginning of the regex, is not mandatory !

    Inside the block \(....\), the regex looks for any sequence, even empty, of :

    (?2) Characters different from round brackets and from End of Line characters OR (?3)Nested other blocks of round brackets (....)

    and so on…

    I’ll give you any further information, about the recursion concept, if anyone needs to !

    Best regards,

    guy038

    P.S.,

    To end, I give you an other regex, with a recursive pattern (?2), which can match the general case of the string ....(.........)............(..)...(....)...........

    So, this regex, below, matches the tallest sequence of characters, even on several lines, which contains as much as opening round brackets than closing round brackets, with well-nested and/or juxtaposed other blocs (....) :

    ([^()]*(\(([^()]|(?2))*\))[^()]*)+

    With the PCRE_EXTENTED option (?x), we get the regex :

    (?x) ( [^()]* ( \( ( [^()] | (?2) )* \) ) [^()]* )+

    And, if you don’t think to use the group 1, in the replacement part, with the backreference \1, you may set group 1, as a non-capturing group, with the syntax ?:, in :

    (?:[^()]*(\(([^()]|(?1))*\))[^()]*)+

    (?x) (?: [^()]* ( \( ( [^()] | (?1) )* \) ) [^()]* )+

    Of course, because of the first non-capturing group, the old recursive group 2 becomes the recursive group 1

  • notepad++ status bar scale issue

    3
    0 Votes
    3 Posts
    4k Views
    gerdb42G

    Do you have your Display settings set to high DPI? I’m afraid NP++ is not always aware of this (at least not on the statusbar).

  • Is there a NP++ for Linux?

    Locked
    3
    0 Votes
    3 Posts
    4k Views
    witeresW

    NP++ runs fine on Wine.

  • Save first line as filename

    2
    0 Votes
    2 Posts
    3k Views
    cmeriauxC

    Hello,
    you can use the python script to do that.

  • Offline plugin installation

    Locked
    2
    0 Votes
    2 Posts
    23k Views
    dailD

    There is not really a “list”. The plugins are just DLLs (and any associated files). If you copy over that entire folder it should work.

  • UTF-8 file with emoji is not recognized

    Locked
    1
    0 Votes
    1 Posts
    6k Views
    No one has replied
  • Notepad++ crashes with virtual desktop manager

    3
    0 Votes
    3 Posts
    4k Views
    Gerhard PetrowitschG

    Hi,
    I checked the Event Viewer and found that Notepad++
    crashed upon unloading the DSpellCheck.dll. So I uninstalled the spell check plugin.
    Then Notepad++ crashed in its own exe. So I uninstalled Notepad++ completely, and manually removed what remained in the program folder (this I didn’t do last time I re-installed).
    Then I installed it again. And now it doesn’t crash anymore. I hope it stays this way…
    Sorry for bothering you with this.
    Thanks anyway,
    Gerhard

  • Doc Switcher keyboard shortcut

    Locked
    1
    1 Votes
    1 Posts
    7k Views
    No one has replied
  • 0 Votes
    1 Posts
    2k Views
    No one has replied
  • Accessibility problems

    5
    0 Votes
    5 Posts
    5k Views
  • bad search result

    Locked
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Search and replace - Increment/decrement with wildcards

    Locked
    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • opening curly bracket { issue

    Locked
    2
    0 Votes
    2 Posts
    4k Views
    jonandrJ

    If I understand this correctly:

    Ctrl-Alt-B is } and Ctrl-Alt-N is { on a Slovak keyboard These letters can’t be typed in N++.

    By default, Ctrl-Alt-B is mapped to Search -> Select all between mapping braces. Ctrl-Alt-N is not mapped to anything by default, but it has been mapped locally anyway (somehow). What happens if you remove these mappings in the Shortcut mapper (Settings dialog)? I guess the alternative is that N++ thinks all Ctrl-Alt combinations as shortcuts.

  • Misinterpreted file

    Locked
    2
    0 Votes
    2 Posts
    3k Views
    jonandrJ

    N++ tries to autodetect the character encoding in version 6.5.5 and later. It can be turned off in Settings -> Preferences -> Misc.

  • Open relative links with right-click

    Locked
    2
    0 Votes
    2 Posts
    5k Views
    jonandrJ

    It is very difficult to detect paths in free text since paths can contain spaces. Such a feature would have a lot of false positives which would annoy users.

    In this particular case where the format is known you could write a Python script which parses the line and opens the file. Then you could tie the script to a shortcut key.

    http://npppythonscript.sourceforge.net/docs/latest/

  • Why is the text anti-aliased in 6.7.9.2

    Locked
    2
  • Synchronize Scrolling with Word Wrap

    2
    0 Votes
    2 Posts
    4k Views
    AlazairA

    Also, I’ve encountered another issue when using word wrap. If the file is long enough to require a scroll bar and my view is not at the top of the file, any time I switch to a different window, then come back to NP++, the view automatically scrolls to the very top of the file, and does so rather slowly. For example, when the file is over 15,000 lines, it takes about 15 seconds to finish scrolling to the top before I am able to start scrolling back down to search for my location again.

    This only occurs when word wrap is on, and only started occurring when I updated to the new version (6.7.9.2). Since it just started occurring after I updated the program, I’m assuming that it is either a new default setting that I am unable to find and disable, or a new bug introduced in this version.

    I find this new behavior to be quite annoying and would like to disable it. If it is a default setting change, where is the setting to turn off the automatic scrolling to the top of the file? If it is a bug introduced in this version, what is the easiest method I could use to revert the program to the previous version in which this issue did not occur?

  • MSVC compilation

    6
    0 Votes
    6 Posts
    6k Views
    AJ BaxterA

    installed MSVC2015. now it compiles.