How to find and replace the last occurrence of a tag ?
-
Block of text to find and replace:-
<div style="margin-bottom:-15px;width: 100%;background-color:#EBF4FB;"> <div class="left"> <div class="left">I used
(?s)<div style="margin-bottom:-15px;width: 100%;background-color:#EBF4FB;">.*\K<div class="left">and<div class="right">in the replace in files field with the Regular expression mode selected -
I think this page should have been titled, “How to find and replace the last occurrence of a string ?”
-
Hello, @dr-ramaanand and All,
You said that your regex searches the last ooccurrence of the tag
<div class="left">and suggested to change the title as 'How to find and replace the last occurrence of a stringHowever, your statement is erroneous. Actually, you just try to find the last occurrence of the
<div class="left">tag, AFTER a first occurrence of the<div style="margin-bottom:-15px;width: 100%;background-color:#EBF4FB;">tag !
I think that the correct way to match the last occurrence of a specific tag, in current file, is to use the generic regex :
(?s-i)\A.*\K<TAG Name(?: .*?)?>Just replace the generic TAG Name value with a valid
HTMLtagNote that, in case of the comment tag, replace the generic TAG Name, into the above regex, by the literal string
!--.*?--
Similarly, the correct way to match the first occurrence of a specific tag, in current file, is to use the generic regex :
(?s-i)\A.*?\K<TAG Name(?: .*?)?>BR
guy038
-
@guy038 so the correct way to match the first occurrence of a specific string, in the current file, is to use the generic regex :
(?s-i)\A.?\K<STRING(?: .?)?>
-
Hello, @dr-ramaanand and All,
I can only repeat what I said earlier: Yes, that’s exactly the only way :
(?s)\A.*?\KTAG name(?:.*?)?>!Of course, if you want to find a the first occurrence of the
TAG_2tag AFTER the first occurrence of an another tag, namedTAG_1, my generic regex becomes :(?s-i)\A.*?<TAG_1(?: .*?)?>.*?\K<TAG_2(?: .*?)?>BR
guy038
-
@guy038 Oui, merci beaucoup!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login