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 EMPTYSo, 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!\BReplace by:
(leave a space)!