Community
    • Login

    Regex: How to replace the content of a tag

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    4 Posts 2 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Vasile CarausV
      Vasile Caraus
      last edited by

      hy. I want to math all the words that end with “!” from this tag:

      <title>Why I love! you so much</title>

      In this case, I want to match the word love! because has an !

      Now, I made this beautiful regex:

      (?-s)(<title>)*\w+!(?!\w*;)(?=[^<]*</title>)

      Now, I want to use this regex, to replace in several .html files all those tags that has ! Basicaly, I want to delete them from these tag. I try to replace ! wih an emptyspace, like so:

      Search: (?-s)(<title>)*\w+!(?!\w*;)(?=[^<]*</title>)
      Replace by: \1\2(LEAVE EMPTY)

      But doesn’t work. Can anyone help me?

      1 Reply Last reply Reply Quote 0
      • Vasile CarausV
        Vasile Caraus
        last edited by

        After replace, My tag should loook like:

        <title>Why I love you so much</title> (without !)

        1 Reply Last reply Reply Quote 0
        • guy038G
          guy038
          last edited by

          Hello @vasile-caraus,

          I think that your regex S/R is excessively complicated ! Why not trying this simple one :

          SEARCH (?i)(?<=\w)!(?=\x20)

          REPLACE Leave EMPTY

          So, this search regex would match any ! symbol, which is, both :

          • Preceded by a word character, whatever its case, due to the (?i) modifier

          • Followed by a space character

          and would be deleted, as the replacement zone is empty !

          Cheers,

          guy038

          1 Reply Last reply Reply Quote 0
          • Vasile CarausV
            Vasile Caraus
            last edited by

            Search: (?:\G(?!^)|<title>)[^<]*?\K\b!\B

            Replace by: (leave a space)!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            The Community of users of the Notepad++ text editor.
            Powered by NodeBB | Contributors