<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Select/mark all lines which contain a certain pattern?]]></title><description><![CDATA[<p dir="auto">Assume I have a very long text file with more than 4000 lines.</p>
<p dir="auto">Now I want to mark all lines which contain the pattern “foobar”.<br />
Afterwards I want to delete these lines WITH one (or two) clicks.</p>
<p dir="auto">Obviously I don’t want to do this step by step for approx 800 lines.</p>
<p dir="auto">How can I achieve this?</p>
<p dir="auto">Matt</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/14704/select-mark-all-lines-which-contain-a-certain-pattern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 10:38:29 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/14704.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Oct 2017 11:23:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Mon, 22 Mar 2021 19:52:30 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/sasumner" aria-label="Profile: sasumner">@<bdi>sasumner</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: peterjones">@<bdi>peterjones</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">Here is a <strong>new</strong> version of my <strong>previous</strong> table, which recapitulates the <strong>range</strong> of the <strong><code>Replace All</code></strong>, <strong><code>Count</code></strong> and <strong><code>Mark All</code></strong> action , depending of the <strong>three</strong> options <strong><code>Wrap around</code></strong>, <strong><code>Backward direction</code></strong> and <strong><code>In selection</code></strong></p>
<p dir="auto">Many thanks, again to <a class="plugin-mentions-user plugin-mentions-a" href="/user/sasumner" aria-label="Profile: sasumner">@<bdi>sasumner</bdi></a> which <strong>improved</strong> the <strong><code>Count</code></strong> and <strong><code>Mark</code></strong> option, which share the <strong>same</strong> behaviour than the <strong><code>Replace All</code></strong> option ;-))</p>
<pre><code class="language-diff">•-------------•-------------------------------------------------------------•--------------------------------------------------•
|  PREVIOUS   |    OPTIONS in the "Find", "Replace" and "Mark" dialogs      |   RANGE of SEARCH/REPLACE , COUNT or MARK when   |
|             •-----------------•------------------------•------------------•                                                  |
|  Selection  |  "Wrap around"  |  "Backward direction"  |  "In selection"  |   click on "Replace All", "Count" or "Mark All"  |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     NO      |       OFF       |           OFF          |        OFF       |  From  CARET location      to  END of file       |
|             |                 |                        |                  |                                                  |
|     YES     |       OFF       |           OFF          |        OFF       |  From  START of selection  to  END of file       |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     NO      |       OFF       |           ON           |        OFF       |  From  START of file       to  CARET location    |
|             |                 |                        |                  |                                                  |
|     YES     |       OFF       |           ON           |        OFF       |  From  START of file       to  END of selection  |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     YES     |       -/-       |           -/-          |        ON        |  From  START of selection  to  END of selection  |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     -/-     |       ON        |           -/-          |        OFF       |  From  START of file       to  END of file       |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
</code></pre>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/64236</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/64236</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Mon, 22 Mar 2021 19:52:30 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Thu, 06 Sep 2018 12:33:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<blockquote>
<p dir="auto">So, do you agree, with the following table ?</p>
</blockquote>
<p dir="auto">Response delayed by 10 months:  Yes, I do.  :-)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/34668</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/34668</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Thu, 06 Sep 2018 12:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Tue, 21 Nov 2017 21:25:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/claudia-frank" aria-label="Profile: Claudia-Frank">@<bdi>Claudia-Frank</bdi></a>  This is great!!!  I’ve been a casual user of notepad++ for many years and never knew about this. You saved me a ton of time and more importantly a ton of mistakes. Much appreciated!!</p>
]]></description><link>https://community.notepad-plus-plus.org/post/28157</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/28157</guid><dc:creator><![CDATA[Steve Rothman]]></dc:creator><pubDate>Tue, 21 Nov 2017 21:25:05 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Fri, 10 Nov 2017 20:50:20 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: scott-sumner">@<bdi>scott-sumner</bdi></a>, and <strong>All</strong></p>
<p dir="auto">You said :</p>
<blockquote>
<p dir="auto">Do I want to do a RA from start-to-caret, from caret-to-end, in-selection, or on the entire document ?</p>
</blockquote>
<p dir="auto">You’re perfectly <strong>right</strong>. It’s the main point ! So, do you <strong>agree</strong>, with the following <strong>table</strong> ?</p>
<pre><code class="language-diff">•-------------•-------------------------------------------------------------•--------------------------------------------------•
|  PREVIOUS   |            OPTIONS of the "Replace** dialog                 |        RANGE of the Search / Replacement         |
|             |-----------------•------------------------•------------------•                                                  |
|  Selection  |  "Wrap around"  |  "Backward direction"  |  "In selection"  |       if click on the "Replace All" button       |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     NO      |       OFF       |           OFF          |        OFF       |  From  CARET location      to  END of file       |
|             |                 |                        |                  |                                                  |
|     YES     |       OFF       |           OFF          |        OFF       |  From  START of selection  to  END of file       |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     NO      |       OFF       |           ON           |        OFF       |  From  START of file       to  CARET location    |
|             |                 |                        |                  |                                                  |
|     YES     |       OFF       |           ON           |        OFF       |  From  START of file       to  END of selection  |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     YES     |       -/-       |           -/-          |        ON        |  From  START of selection  to  END of selection  |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
|     -/-     |       ON        |           -/-          |        OFF       |  From  START of file       to  END of file       |
•-------------•-----------------•------------------------•------------------•--------------------------------------------------•
</code></pre>
<hr />
<p dir="auto">Concerning, my <strong>previous</strong> post, as a matter of fact, I rather spoke of a <strong>method</strong> to tell people about regexes, in my <strong>future</strong> posts ! And I was <strong>not</strong> claiming, at any moment, for people to follow these steps <strong>strictly</strong>, of course :-D</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27946</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27946</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Fri, 10 Nov 2017 20:50:20 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 08 Nov 2017 13:11:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">Your described use-case seems to be for someone that works on regexes for fun (you?!) and does a lot of testing on temporary data.  My use, and I suspect most users, is to so S/R in-place on real data.  So I wouldn’t necessarily follow the steps you outlined in your most-recent post.  I’d just be careful that I knew what I was doing to my data (the main relevant difference for this thread being: Do I want to do a RA from start-to-caret, from caret-to-end, in-selection, or on the entire document).</p>
<p dir="auto">P.S. You think my annotations could be simplified?  Well, sure, probably, especially for the newest thing in yellow… Don’t I get any points for my little regex reminders text, e.g. <code>(?-i)</code>, <code>(?s)</code> ?  I used to like my <code>\&lt;</code> and <code>\&gt;</code> text but I think that is out-dated and I should probably change to <code>\b</code> given the uncertainty cast by <a href="https://notepad-plus-plus.org/community/topic/13249/pythonscript-search-different-than-n-search-when-using-and-leading-uppercase" rel="nofollow ugc">this</a> information.  :(</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27930</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27930</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Wed, 08 Nov 2017 13:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Tue, 07 Nov 2017 23:50:54 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <strong>scott-sumner</strong> and <strong>All</strong>,</p>
<p dir="auto"><strong>Thousand thanks</strong> for your investigation :-))</p>
<p dir="auto">You said :</p>
<blockquote>
<p dir="auto">So I think at this point we have the answers that were sought: <strong>RA</strong> with <strong>Wrap around</strong> operates on the entire file from top to bottom regardless of caret position when the operation is initiated.</p>
</blockquote>
<p dir="auto">Yes, that’s what I presumed ! So, the <strong>easiest</strong> method, to perform a <strong>neat</strong> regex S/R, seems to be :</p>
<ul>
<li>
<p dir="auto"><strong>Paste</strong> all the text, which is to be <strong>modified</strong>, in a <strong><code>new</code></strong> tab</p>
</li>
<li>
<p dir="auto"><strong>Check</strong> the <strong><code>wrap around</code></strong> option and the <strong><code>Regular expression</code></strong> search mode</p>
</li>
<li>
<p dir="auto">Add, at <strong>beginning</strong> of your <strong>search</strong> regex, the appropriate <strong><code>i</code></strong> and <strong><code>s</code></strong> <strong>modifiers</strong>, in order to <strong>invalidate</strong> the <strong>previous</strong> user choices, for the <strong><code>Match case</code></strong>  and <strong><code>. matches newline</code></strong> options</p>
</li>
<li>
<p dir="auto"><strong>Click</strong> on the <strong><code>Replace All</code></strong> button</p>
</li>
</ul>
<p dir="auto">Et voilà :-D</p>
<p dir="auto">BTW, <strong>Scott</strong>, your <strong>Find/Replace/Mark</strong> dialog seems <strong>strongly</strong> annotated. No doubt that, <strong>after</strong> some practice, this window could be <strong>simplified</strong> a bit !!</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27921</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27921</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Tue, 07 Nov 2017 23:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Tue, 07 Nov 2017 13:57:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a> :</p>
<blockquote>
<p dir="auto">I didn’t think about sorting</p>
</blockquote>
<p dir="auto">Normally I would not think about sorting either but <a class="plugin-mentions-user plugin-mentions-a" href="/user/perry-sticca" aria-label="Profile: perry-sticca">@<bdi>perry-sticca</bdi></a> had said, “I’d like to mark, <em><strong>sort</strong></em> and then delete all lines…”, so sorting in proposed solutions was fair game.  :-)</p>
<blockquote>
<p dir="auto">we would better to always tick the Wrap around option, before a full regex S/R.<br />
Could you investigate, a bit, about it, may be from source code ?</p>
</blockquote>
<p dir="auto">Yes, once I <em>sort</em> out what is being asked.  Not unclear, just a lot of info in your post…  :-)</p>
<p dir="auto">Okay, so let’s go…let’s define <strong>RA</strong> to mean <strong>Replace-All</strong> for the rest of this posting, so I save typing!  Also <strong>S/R</strong> is <strong>Search+Replace</strong>!</p>
<blockquote>
<p dir="auto">…concerning my preference, to move back…beginning…before a regex S/R, rather than ticking…Wrap around…it could cause different results, according to the initial location of the caret</p>
</blockquote>
<p dir="auto">Actually these <strong>RA</strong> related things (move to beginning versus ticking <strong>Wrap around</strong>) are equivalent as we will see.  And it works the same way whether or not it is a regex S/R operation, but you will never see effects like what your example shows with a literal S/R operation…at least I don’t think so.</p>
<blockquote>
<p dir="auto">…we would better to always tick the Wrap around option, before a full regex S/R</p>
</blockquote>
<p dir="auto">I agree if by “full” you mean a desired replacement on the entire file contents in a <strong>RA</strong>.  But it is “better” only because it is easier to tick the checkbox than to move the caret (and maybe lose your concentration on where you were editing in the file).</p>
<p dir="auto">So here are the relevant parts of the source code for the <strong>RA</strong> operation called from the button press in the Replace tab window (note: unimportant parts of the code to this analysis have been replaced with <code>...snip...</code>):</p>
<pre><code>INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        //...snip...
        case WM_COMMAND :
        {
            //...snip...
            switch (LOWORD(wParam))
            {
                //...snip...
                case IDREPLACEALL :
                {
                    //...snip...
                    if (_currentStatus == REPLACE_DLG)
                    {
                        //...snip...
                        int nbReplaced = processAll(ProcessReplaceAll, &amp;_options);

// prototype:   int processAll(ProcessOperation op, const FindOption *opt, bool isEntire = false, const FindersInfo *pFindersInfo = nullptr, int colourStyleID = -1);
int FindReplaceDlg::processAll(ProcessOperation op, const FindOption *opt, bool isEntire,         const FindersInfo *pFindersInfo,           int colourStyleID)
{
    //...snip...

    CharacterRange cr = (*_ppEditView)-&gt;getSelection();
    int docLength = int((*_ppEditView)-&gt;execute(SCI_GETLENGTH));

    // Default :
    //        direction : down
    //        begin at : 0
    //        end at : end of doc
    int startPosition = 0;
    int endPosition = docLength;

    //...snip...

    //first try limiting scope by direction
    if (direction == DIR_UP)
    {
        startPosition = 0;
        endPosition = cr.cpMax;
    }
    else
    {
        startPosition = cr.cpMin;
        endPosition = docLength;
    }

    //then adjust scope if the full document needs to be changed
    if (pOptions-&gt;_isWrapAround || isEntire) //entire document needs to be scanned
    {
        startPosition = 0;
        endPosition = docLength;
    }

    //then readjust scope if the selection override is active and allowed
    if ((pOptions-&gt;_isInSelection) &amp;&amp; (((op == ProcessReplaceAll) &amp;&amp; (!isEntire))))
    {
        startPosition = cr.cpMin;
        endPosition = cr.cpMax;
    }

    //...snip...

    findReplaceInfo._startRange = startPosition;
    findReplaceInfo._endRange = endPosition;
    return processRange(op, findReplaceInfo, pFindersInfo, pOptions, colourStyleID);
}
</code></pre>
<p dir="auto">We are interested in two things:</p>
<ul>
<li>the <strong>Wrap around</strong> checkbox setting, in the code as the <code>_isWrapAround</code> variable</li>
<li>the scope of the search, in the <code>startPosition</code> and <code>endPosition</code> variables</li>
</ul>
<p dir="auto">Note that <code>isEntire</code> in this case is always <code>false</code> from the function prototype and the way <strong>processAll</strong> is called with the <strong>RA</strong> button press.</p>
<p dir="auto">So the very key thing is this part:  <code>if (pOptions-&gt;_isWrapAround ...</code>.  From here we see that this option being true, i.e., the checkbox being ticked, will cause the start and end of the search to be the top and bottom of the document, respectively.  Thus here is the equivalence to moving the caret back to the top of the document and doing a (downward) <strong>RA</strong>.  If the checkbox is not ticked, we have for a downward S/R:</p>
<pre><code>startPosition = cr.cpMin;
endPosition = docLength;
</code></pre>
<p dir="auto">And the “opposite” for an upwards search:</p>
<pre><code>startPosition = 0;
endPosition = cr.cpMax;
</code></pre>
<p dir="auto">In these cases cr.cpMin and cr.cpMax mean one of the following:</p>
<ul>
<li>cr.cpMin == cr.cpMax == current caret position if no selection is active</li>
<li>cr.cpMin is the lowest position and cr.cpMax is the highest position of the main (most recently created) selection if one or more selections are active (note: <strong>In selection</strong> not ticked)</li>
<li>cr.cpMin is the lowest position and cr.cpMax is the highest position of the column block if a column block is active (note: <strong>In selection</strong> not ticked)</li>
</ul>
<p dir="auto">So I think at this point we have the answers that were sought:  <strong>RA</strong> with <strong>Wrap around</strong> operates on the entire file from top to bottom regardless of caret position when the operation is initiated.</p>
<p dir="auto">But let’s see what an interactive <strong>S/R</strong> does…</p>
<p dir="auto">And now here are the relevant parts of the source code for the <strong>Find Next</strong> operation, which is key to the interactive step-by-step Replace (not <strong>RA</strong>) operation:</p>
<pre><code>INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        //...snip...
        case WM_COMMAND :
        {
            //...snip...
            switch (LOWORD(wParam))
            {
                //...snip...
                case IDOK : // Find Next : only for FIND_DLG and REPLACE_DLG
                {
                    // ...snip...
                    FindStatus findStatus = FSFound;
                    processFindNext(_options._str2Search.c_str(), _env, &amp;findStatus);

bool FindReplaceDlg::processFindNext(const TCHAR *txt2find, const FindOption *options, FindStatus *oFindStatus, /* ...snip... */)
{
    // ...snip...

    int docLength = int((*_ppEditView)-&gt;execute(SCI_GETLENGTH));
    CharacterRange cr = (*_ppEditView)-&gt;getSelection();

    //The search "zone" is relative to the selection, so search happens 'outside'
    int startPosition = cr.cpMax;
    int endPosition = docLength;

    if (pOptions-&gt;_whichDirection == DIR_UP)
    {
        //When searching upwards, start is the lower part, end the upper, for backwards search
        startPosition = cr.cpMax - 1;
        endPosition = 0;
    }

    // ...snip...

    int posFind;
    posFind = (*_ppEditView)-&gt;searchInTarget(pText, stringSizeFind, startPosition, endPosition);
    if (posFind == -1) //no match found in target, check if a new target should be used
    {
        if (pOptions-&gt;_isWrapAround)
        {
            //when wrapping, use the rest of the document (entire document is usable)
            if (pOptions-&gt;_whichDirection == DIR_DOWN)
            {
                startPosition = 0;
                endPosition = docLength;
                if (oFindStatus)
                    *oFindStatus = FSEndReached;
            }
            else
            {
                startPosition = docLength;
                endPosition = 0;
                if (oFindStatus)
                    *oFindStatus = FSTopReached;
            }

            //new target, search again
            posFind = (*_ppEditView)-&gt;searchInTarget(pText, stringSizeFind, startPosition, endPosition);
        }

        if (posFind == -1)
        {
            if (oFindStatus)
                *oFindStatus = FSNotFound;
            //failed, or failed twice with wrap
</code></pre>
<p dir="auto">This time, because the search/replace is interactive, it is different because it needs to be–the user expects to move from the caret position in his desired direction (if literal search; regex is always downward), so it has to work this way.  But again we can see how the <strong>_isWrapAround</strong> variable affects the search, by doing a true wrap when an end of the file (0 or docLength position) is reached during searching.</p>
<p dir="auto">Final note: This increased understanding has inspired me to change the look of my Find/Replace/Mark windows, already heavily customized, as follows:</p>
<p dir="auto"><img src="https://i.imgur.com/5Rh3joy.png" alt="Imgur" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.notepad-plus-plus.org/post/27911</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27911</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Tue, 07 Nov 2017 13:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Thu, 02 Nov 2017 20:39:55 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <strong>scott-sumner</strong>,</p>
<p dir="auto">Firstly, you’re right about the <strong>key</strong> name : the keys <strong><code>Insert</code></strong> and <strong><code>Delete</code></strong>, of an <strong>American / English</strong> keyboard, are named <strong><code>Inser</code></strong> and <strong><code>Suppr</code></strong>, on a <strong>French</strong> keyboard !</p>
<hr />
<p dir="auto">Secondly, I didn’t think about <strong>sorting</strong>, Nice idea too ! However, there’s a small <strong>difference</strong> : the block of lines, ending with <strong><code>;0</code></strong>, moved at <strong>end</strong> of file, keeps its <strong>initial</strong> order with the <strong>bookmarks</strong> solution, whereas it’s <strong>sorted</strong> with the <strong><code>\x7F</code></strong> character and <strong>sort</strong> solution  !</p>
<hr />
<p dir="auto">Thirdly, concerning my preference, to move <strong>back</strong>, <strong>first</strong>, at beginning of file, before a <strong>regex</strong>  S/R, rather than ticking the <strong>Wrap around</strong> option, it’s just because, I think that, in <strong>particular</strong> cases, it could cause <strong>different</strong> results, according to the <strong>initial</strong> location of the <strong>caret</strong>, inside the file.</p>
<p dir="auto">So, I tried to find out a regex, which will <strong>demonstrate</strong> this fact ! After a while, I came across this one :</p>
<p dir="auto">SEARCH <strong><code>(?-s)^abc\R(?s).*abc\z</code></strong></p>
<p dir="auto">REPLACE <strong><code>EMPTY</code></strong></p>
<p dir="auto">and I tested it, against the <strong>example</strong> text, below, in a <strong>NEW</strong> tab :</p>
<pre><code class="language-diff">Line 01
abc
Line 02
Line 03
abc
Line 04
--&gt;&lt;--
Line 05
abc
Line 06
Line 07
abc
</code></pre>
<p dir="auto">IMPORTANT : The <strong>last</strong> line <strong><code>abc</code></strong>, of this text, does <strong>NOT</strong> contain any <strong>line break</strong> and <strong>physically ends</strong> the <strong>new</strong> tab contents !</p>
<p dir="auto">Then :</p>
<ul>
<li>
<p dir="auto">Put the <strong>caret</strong> between the <strong>two arrows</strong>, in the <strong>middle</strong> of the text.</p>
</li>
<li>
<p dir="auto">Check the <strong>Wrap around</strong> option</p>
</li>
<li>
<p dir="auto">Click on the <strong>Find Next</strong> button</p>
</li>
</ul>
<p dir="auto">=&gt; The following block of text is <strong>selected</strong> :</p>
<pre><code class="language-diff">abc
Line 06
Line 07
abc
</code></pre>
<ul>
<li>Now, click on the <strong>Replace</strong> button ( Not the <strong>Replace All</strong> one ! )</li>
</ul>
<p dir="auto">=&gt; This block is, of course, <strong>deleted</strong> and it remains :</p>
<pre><code class="language-diff">Line 01
abc
Line 02
Line 03
abc
Line 04
--&gt;&lt;--
Line 05
</code></pre>
<p dir="auto">You get the message <strong>Replace: 1 occurrence was replaced. The next occurrence not found</strong>. This is <strong>logical</strong> as, when the process <strong>wraps</strong> around and moves <strong>back</strong> to beginning of text, to go on searching, it <strong>cannot</strong> find, again, a string <strong>abc</strong> at the <strong>very end</strong> of the <strong>new</strong> tab ( part <strong><code>abc\z</code></strong> )</p>
<hr />
<p dir="auto">Now, let’s redo the <strong>same</strong> steps and use, instead, the <strong>Replace All</strong> button :</p>
<ul>
<li>
<p dir="auto">Get the original text, by an <strong>undo</strong> action  ( <strong><code>Ctrl + Y</code></strong> )</p>
</li>
<li>
<p dir="auto">Put, again, the <strong>caret</strong> between the <strong>two arrows</strong>, in the middle of the text.</p>
</li>
<li>
<p dir="auto">Verify that the <strong>Wrap around</strong> option is still <strong>checked</strong></p>
</li>
<li>
<p dir="auto">Click on the <strong>Replace All</strong> action</p>
</li>
</ul>
<p dir="auto">=&gt; <strong>Surprisingly</strong>, this time, almost all text is <strong>deleted</strong> and it remains the <strong>unique</strong> line :</p>
<pre><code class="language-diff">Line 01
</code></pre>
<p dir="auto">In other words, it looks like the process moved back, <strong>first</strong>, at <strong>beginning</strong> of file, <strong>selected</strong> the block between the <strong>first</strong> string <strong>abc</strong> and the <strong>last</strong> string <strong>abc</strong> ( the <strong>last</strong> line ) and, finally, <strong>deleted</strong> it !!</p>
<p dir="auto">Logically, if process had begun at <strong>caret</strong> position and had moved <strong>back</strong> to <strong>beginning</strong> of file, it should had deleted, <strong>only</strong>, the following block of text, as the <strong>ending</strong> string <strong><code>abc</code></strong> does <strong>not</strong> exist anymore, due to the <strong>first</strong> replacement !!??</p>
<pre><code class="language-diff">abc
Line 06
Line 07
abc
</code></pre>
<p dir="auto">Consequently, it seems that, when the <strong>Regular expression</strong> search mode and the <strong>wrap around</strong> option are, both, <strong>ticked</strong>, a click on the <strong>Replace All</strong> button performs the regex S/R from the <strong>very beginning</strong> of the file till its <strong>very end</strong>, EVEN IF the <strong>initial caret</strong> position was <strong>anywhere</strong> inside the file contents !</p>
<p dir="auto">If this assertion is <strong>exact</strong>, we would better to <strong>always</strong> tick the <strong>Wrap around</strong> option, before a <strong>full regex</strong> S/R:-) Could you investigate, a bit, about it, may be from <strong>source</strong> code ? Many thanks, <strong>Scott</strong>, by advance !</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27800</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27800</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Thu, 02 Nov 2017 20:39:55 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Thu, 02 Nov 2017 12:24:05 GMT]]></title><description><![CDATA[<h4>A couple of notes on <a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a>’s response:</h4>
<ul>
<li>I might change the regex to <code>(?-s)^.+?;0$</code> as that will redmark the entire line for matches (easier for the visual inspection that <a class="plugin-mentions-user plugin-mentions-a" href="/user/perry-sticca" aria-label="Profile: perry-sticca">@<bdi>perry-sticca</bdi></a> wants to do)</li>
<li>When I use the <strong>Mark</strong> feature 99.5%(?) of the time I want it to affect the whole file without having to move the caret to the top first; thus I suggest ticking the <strong>Wrap around</strong> checkbox rather than the action <em>“Move back to the very beginning of your file (Ctrl + Home)”</em>.  Either way works, though.</li>
</ul>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a>, what is the <code>Suppr</code> key?  Presume you mean the more-commonly labeled <code>Delete</code> key…</p>
<h4>----- New spin on a solution:-----</h4>
<p dir="auto">Maybe more aligned with <a class="plugin-mentions-user plugin-mentions-a" href="/user/perry-sticca" aria-label="Profile: perry-sticca">@<bdi>perry-sticca</bdi></a> 's original desire would be to do this <strong>Replace-All</strong> (not a <strong>Mark</strong>) operation that puts a “high-valued” character at the start of the wanted-to-be-matched lines:</p>
<p dir="auto"><strong>Find what</strong> zone: <code>(?-s)^(?=.*?;0$)</code><br />
<strong>Replace with</strong> zone: <code>\x7f</code><br />
<strong>Wrap around</strong> checkbox: ticked<br />
<strong>Search mode</strong> radio-button: <code>Regular expression</code></p>
<p dir="auto">Post replacement, do a <strong>Edit</strong> (menu) -&gt; <strong>Line Operations</strong> -&gt; <strong>Sort Lines ______</strong> to get the desired lines grouped together at one end of the file.</p>
<p dir="auto">From there, once confirmed by visual inspection that the lines should really be removed, it is a simple matter to manually do so.  Of course, if any are to be retained after this inspection it would be smart to remove the leading <code>\x7f</code> character from each!</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27790</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27790</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Thu, 02 Nov 2017 12:24:05 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Thu, 02 Nov 2017 11:33:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/gerdb42" aria-label="Profile: gerdb42">@<bdi>gerdb42</bdi></a></p>
<p dir="auto">Sometimes you just wanna be sure you are doing the right thing…<a href="https://notepad-plus-plus.org/community/topic/14556/good-way-to-visualize-replacement" rel="nofollow ugc">related maybe</a>…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27789</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27789</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Thu, 02 Nov 2017 11:33:35 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Thu, 02 Nov 2017 07:54:11 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/perry-sticca" aria-label="Profile: Perry-Sticca">@<bdi>Perry-Sticca</bdi></a></p>
<p dir="auto">If you want to delete the lines anyway, why mark and sort them first? To delete them right away, search for <code>(?-s)^.*?;0(?:\R|$)</code> and replace with &lt;empty&gt;.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27788</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27788</guid><dc:creator><![CDATA[gerdb42]]></dc:creator><pubDate>Thu, 02 Nov 2017 07:54:11 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 21:34:43 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/perry-sticca" aria-label="Profile: perry-sticca">@<bdi>perry-sticca</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">The more <strong>simple</strong> way, what I’m thinking of, would be :</p>
<ul>
<li>
<p dir="auto">Move <strong>back</strong> to the <strong>very beginning</strong> of your file  ( <strong><code>Ctrl + Home</code></strong> )</p>
</li>
<li>
<p dir="auto">Choose the menu choice <strong>Search &gt; Mark…</strong></p>
</li>
<li>
<p dir="auto">Tick the option <strong>Bookmark line</strong> and, may be, the <strong>Purge for each search</strong> option</p>
</li>
<li>
<p dir="auto">Select the <strong>Regular expression</strong> search mode</p>
</li>
<li>
<p dir="auto">Type the regex <strong><code>;0$</code></strong>, in the <strong>Find what</strong> line</p>
</li>
<li>
<p dir="auto">Click on the <strong>Mark All</strong> button</p>
</li>
</ul>
<p dir="auto">=&gt; All the specific lines, <strong>ending</strong> with the string <strong><code>;0</code></strong> are highlighted and <strong>bookmarked</strong> !</p>
<ul>
<li>
<p dir="auto">Choose the menu choice <strong>Search &gt; Bookmark &gt; Cut Bookmarked Lines</strong></p>
</li>
<li>
<p dir="auto">Move to the <strong>very end</strong> of your file ( <strong><code>Ctrl + End</code></strong> )</p>
</li>
<li>
<p dir="auto">You may insert a short  <strong>line separator</strong></p>
</li>
<li>
<p dir="auto"><strong>Paste</strong>, with <strong><code>Ctrl + V</code></strong>, all the lines <strong>ending</strong> by the string <strong><code>;0</code></strong></p>
</li>
<li>
<p dir="auto">After having a look at them…, move back to your <strong>line separator</strong></p>
</li>
<li>
<p dir="auto">Hit the <strong><code>Ctrl + Shift + End</code></strong> shortcut, to select all these <strong>specific</strong> lines</p>
</li>
<li>
<p dir="auto"><strong>Delete</strong> them by hitting the <strong><code>Suppr</code></strong> key</p>
</li>
</ul>
<p dir="auto">Et voilà !</p>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27783</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27783</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Wed, 01 Nov 2017 21:34:43 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 20:40:28 GMT]]></title><description><![CDATA[<p dir="auto">Rather than start a new thread, I’ll ask a very similar question in this one:<br />
I’d like to mark, sort and then delete all lines that <strong>end</strong> with:</p>
<p dir="auto">;0</p>
<p dir="auto">(That’s a semicolon and a zero.  A semicolon and a zero might occur elsewhere in the line, but that’s OK - I only care about if they occur at the <strong>end</strong> of each line.)</p>
<p dir="auto">I’d like to first sort them to the beginning or end of the file, so I can take a look at them, but then I’d like to delete them.  What’s the best way to accomplish this?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27781</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27781</guid><dc:creator><![CDATA[Perry Sticca]]></dc:creator><pubDate>Wed, 01 Nov 2017 20:40:28 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 12:39:11 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: Scott-Sumner">@<bdi>Scott-Sumner</bdi></a></p>
<p dir="auto">Darn it,<br />
Sco{1}t{2}</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27773</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27773</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Wed, 01 Nov 2017 12:39:11 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 12:34:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">Maybe it is best to say <strong>"I did mean a <code>?</code>, after the <code>\R</code> syntax</strong>…this removes all doubt about what one is saying.  :-)<br />
I try to do this in postings, and also try to refer to commands by their “menu path” rather than their default Shortcut Mapper keys–because the keys may be gibberish to someone (like me) that has extensively remapped the defaults.  I started remapping the instant I saw <strong>Replace</strong> defaults to <strong>ctrl+h</strong>…</p>
<p dir="auto">Regarding:</p>
<blockquote>
<p dir="auto">Scoot</p>
</blockquote>
<p dir="auto">Okay, so this may be a <a href="https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fnotepad-plus-plus.org%2Fcommunity+%22Scoot%22&amp;oq=site%3Ahttps%3A%2F%2Fnotepad-plus-plus.org%2Fcommunity+%22Scoot%22&amp;aqs=chrome..69i57j69i58.15534j0j4&amp;sourceid=chrome&amp;ie=UTF-8" rel="nofollow ugc">favorite typo</a> of yours as well!<br />
Who is “Scoot”?<br />
Kind regards,<br />
Sco{1}t<br />
:-D</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27772</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27772</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Wed, 01 Nov 2017 12:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 12:15:26 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: scott-sumner">@<bdi>scott-sumner</bdi></a>,</p>
<p dir="auto">Ooooh, yes, <strong>Scoot</strong> ! Just a silly <strong>mistake</strong>. I did mean a <strong>question mark</strong>, after the <strong><code>\R</code></strong> syntax !</p>
<p dir="auto">Anyway, in <strong>French</strong> the spelling is almost similar : <strong>exclamation mark</strong> &lt;–&gt; <strong>point d’exclamation</strong> and  <strong>question mark</strong> &lt;–&gt; <strong>point d’interrogation</strong> !</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27771</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27771</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Wed, 01 Nov 2017 12:15:26 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 11:59:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<blockquote>
<p dir="auto">I added the exclamation mark,</p>
</blockquote>
<p dir="auto">Hi Guy…is this a French-language thing, calling <code>?</code> the <strong>exclamation</strong> mark?</p>
<p dir="auto">English speakers call this the <strong>question</strong> mark.</p>
<p dir="auto">If this was the first time I’ve seen you do this I would just think it was a simple mistake, but I’m sure I’ve seen you do it a few times now…</p>
<p dir="auto">(I guess it is not a mistake if it is correct for your native language, though!)</p>
<p dir="auto">:-D</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27770</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27770</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Wed, 01 Nov 2017 11:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 11:56:19 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="/user/gerdb42" aria-label="Profile: gerdb42">@<bdi>gerdb42</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">Yes, <strong>gerdb42</strong>, you’re quite right. So, if you <strong>previously</strong> moved back to the <strong>very beginning</strong> of the file, use :</p>
<ul>
<li>
<p dir="auto">SEARCH <strong><code>(?-s).*\bfoobar\b.*\R?</code></strong> , if you want to <strong>delete</strong> all lines, containing the <strong>word</strong> <strong><code>foobar</code></strong></p>
</li>
<li>
<p dir="auto">SEARCH <strong><code>(?-s).*foobar.*\R?</code></strong> , if you want to <strong>delete</strong> all lines, containing the <strong>string</strong> <strong><code>foobar</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>EMPTY</code></strong>, for <strong>both</strong> cases</p>
</li>
</ul>
<hr />
<p dir="auto"><strong>Notes</strong> :</p>
<ul>
<li>
<p dir="auto">As usual, the <strong><code>(?-s)</code></strong> <strong>modifier</strong> syntax ensures that <strong><code>dot</code></strong> matches <strong>standard</strong> characters, only</p>
</li>
<li>
<p dir="auto">The <strong><code>\b</code></strong> syntax is a <strong>zero-length</strong> assertion, which notes :</p>
<ul>
<li>The boundary between a <strong>non-word</strong> character and a <strong>word</strong> character<br />
or</li>
<li>The boundary between a <strong>word</strong> character and a <strong>non-word</strong> character</li>
</ul>
</li>
<li>
<p dir="auto">I added the <strong>exclamation mark</strong>, placed <strong>after</strong> the <strong><code>\R</code></strong> syntax, just in case that the <strong>string</strong> or <strong>word</strong> <strong><code>foobar</code></strong> would belong to a <strong>last</strong> line of a file, <strong>without</strong> any line break :-)</p>
</li>
</ul>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27769</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27769</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Wed, 01 Nov 2017 11:56:19 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Wed, 01 Nov 2017 10:20:18 GMT]]></title><description><![CDATA[<p dir="auto">How about a good ol’ RegEx:</p>
<p dir="auto">Search for: <code>^.*?\bfoobar\b.*?\R</code><br />
Replace with: &lt;empty&gt;</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27767</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27767</guid><dc:creator><![CDATA[gerdb42]]></dc:creator><pubDate>Wed, 01 Nov 2017 10:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Tue, 31 Oct 2017 18:09:55 GMT]]></title><description><![CDATA[<p dir="auto">Thank you for suggestion (esp.Claudia Frank).</p>
<p dir="auto">However this bookmark gimmick seems to me an odd workaround.</p>
<p dir="auto">The correct way would be to add a checkbox in “Replace” tab dialog</p>
<p dir="auto">[  ] select whole line which contains pattern</p>
<p dir="auto">Then user should be able to enter a backspace in “Replace with” entry field and hit “Replace all” button.</p>
<p dir="auto">Maybe I should setup  a feature request…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27756</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27756</guid><dc:creator><![CDATA[Matt Adams]]></dc:creator><pubDate>Tue, 31 Oct 2017 18:09:55 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Mon, 30 Oct 2017 12:55:53 GMT]]></title><description><![CDATA[<p dir="auto">+1 for <code>don't-use</code> replacing <code>Extended</code> :-)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27734</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27734</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Mon, 30 Oct 2017 12:55:53 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Sun, 29 Oct 2017 17:29:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/claudia-frank" aria-label="Profile: Claudia-Frank">@<bdi>Claudia-Frank</bdi></a></p>
<p dir="auto">Yes I know do know what you mean! :-D</p>
<p dir="auto">I should also keep in mind that <a class="plugin-mentions-user plugin-mentions-a" href="/user/donho" aria-label="Profile: donho">@<bdi>donho</bdi></a> is from France (I think?) and is likely not a native English speaker(?) so perhaps “Mark line” to him reads like “Bookmark line” to me!</p>
<p dir="auto">But luckily the need to support multiple languages in Notepad++ was recognized early on…and in support of that, runtime changes to the text of the GUI are necessary…AND I can exploit that to put whatever text I want on the Mark dialog’s controls.  Here’s what mine looks like, quite customized:</p>
<p dir="auto"><img src="https://i.imgur.com/LFBjHZ1.png" alt="Imgur" class=" img-fluid img-markdown" /></p>
<p dir="auto">(I know that you know this Claudia, this is for the benefit of other readers)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27714</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27714</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Sun, 29 Oct 2017 17:29:46 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Sun, 29 Oct 2017 16:39:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: Scott-Sumner">@<bdi>Scott-Sumner</bdi></a></p>
<p dir="auto">Hi Scott,</p>
<p dir="auto">you know that there is this type of thing that you read something which isn’t really there :-)<br />
and because you know how to solve it it is even more clear to the reader that it is what you read !?<br />
:-D</p>
<p dir="auto">Cheers<br />
Claudia</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27713</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27713</guid><dc:creator><![CDATA[Claudia Frank]]></dc:creator><pubDate>Sun, 29 Oct 2017 16:39:55 GMT</pubDate></item><item><title><![CDATA[Reply to Select/mark all lines which contain a certain pattern? on Sun, 29 Oct 2017 13:46:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: Scott-Sumner">@<bdi>Scott-Sumner</bdi></a> said:</p>
<blockquote>
<p dir="auto">no reasonable way to clear redmarking without getting bookmarks cleared</p>
</blockquote>
<p dir="auto">Restarting Notepad++ (with session remembered) will do this but I don’t find that a reasonable solution! :-)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/27711</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/27711</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Sun, 29 Oct 2017 13:46:46 GMT</pubDate></item></channel></rss>