Regex: How to replace the content of a tag



  • 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?



  • After replace, My tag should loook like:

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



  • 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



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

    Replace by: (leave a space)!


Log in to reply