
Seemingly, the first match is correct : a dash, right after the part This, but the subsequent matches are wrong : it always matches the first occurrence ONLY, of each line surrounded with the multi-line tags and īecause of the lack of the \G syntax, the other dashes, present in each. Move the cursor at the very beginning of the new tab If we use your formulation of the generic regex (?-si:BSR)(?s-i:(?!ESR).)*?\K(?-si:FR), we end up with the functional search regex (?-si:)(?s-i:(?!).)*?\K(?-si:-+) which can be simplified as : Now, let’s suppose that we want to replace any range of dashes with a single space char, but ONLY on lines embedded in a multi-lines section.

Note the 2 empty lines at the beginning of the file ! Let’s test it with the real text, below, that you’ll copy in a new N++ tab :
