Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#475 regular expressen cuts replaced textparts

release
closed-wont-fix
Eddy De Greef
Program (402)
5
2005-06-29
2005-05-19
Anonymous
No

Hello,
if you replace textparts using regular expressions with
the replace-all-(window)-button the last replacement is
incomplete.
Example:
(\<p n="regestentext"\>.*?)\</4\>
replaces by
\1<pr>

The original text:
<p n="regestentext">K.F. befiehlt Hz. Bogislaw (X.) von
(Pommern-) Stettin unter Hinweis auf seine Bestätigung
der Regalien und Lehen<8>1</8> der Herzog- und
Fürstentümer Stettin, Pommern, der Kaschuben, Wenden
und Rügen für die Mgff. Johann, Friedrich (V.) und
Sigmund von Brandenburg und auf die für Hz. Bogislaw
bestehende Lehnspflicht bei Androhung von seiner und
des Reiches schweren Ungnade, Regalien und Lehen seines
Fürstentums bei Kf. Johann von Brandenburg zu empfangen
und diesem eine Summe von 6.058 fl. rh., welche auf dem
letzten Tag von Nürnberg<8>2</8> durch ihn und Kg.
Maximilian als (Reichs-) Hilfe<8>3</8> Mgf. Johann auf
dessen Fürstentümer und Länder geschlagen waren, ohne
Verzug zu zahlen. <I>Am virtzehenden tag des moneds
juny</I> (nach Kop.).</4>

is cut to:
<p n="regestentext">K.F. befiehlt Hz. Bogislaw (X.) von
(Pommern-) Stettin unter Hinweis auf seine Bestätigung
der Regalien und Lehen<8>1</8> der Herzog- und
Fürstentümer Stettin, Pommern, der Kaschuben, Wenden
und Rügen für die Mgff. Johann, Friedrich (V.) und
Sigmund von Brandenburg und auf die für Hz. Bogislaw
bestehende Lehnspflicht bei Androhung von seiner und
des Reiches schweren Ungnade, Regalien und Lehen seines
Fürstentums bei Kf. Johann von Brandenburg zu empfangen
und diesem eine Summe von 6.05

Discussion

  • Eddy De Greef
    Eddy De Greef
    2005-05-19

    Logged In: YES
    user_id=73597

    This is a "known" issue: replacing strings are limited to
    max. 511 characters, which is the length of what is left of
    your text.
    It's a stupid limitation, but it is quite hard to get rid of.
    At least we should issue a warning that the text was
    truncated; I'll see what I can do about that.

    If it really bothers you, you can increase the maximum
    length by recompiling NEdit: look for SEARCHMAX in nedit.h.

    You can also use a look-behind pattern to perform the
    substitution, eg:
    replace
    (?<=\&lt;p n="regestentext"\&gt;(.|\n){0,1000})\&lt;/4\&gt;
    by
    <pr>
    (Note that the look-behind pattern needs to be bounded:
    that's why it looks back up to 1000 characters in this case).

     
  • Eddy De Greef
    Eddy De Greef
    2005-05-27

    Logged In: YES
    user_id=73597

    I've committed a patch to CVS that writes a message to
    stderr when truncation occurs. This is the least we can do
    (an also the best, for now).

     
  • Eddy De Greef
    Eddy De Greef
    2005-05-27

    • assigned_to: nobody --> edg
    • status: open --> closed-fixed
     
  • Thorsten Haude
    Thorsten Haude
    2005-06-29

    • status: closed-fixed --> closed-wont-fix