With the help of a Regex, how to find "code" preceded by a "<" only if "code {" is absent between "<style" and "</style>" in the css section which is below ?
-
So, the “code” in this should be found:
<code............>............</code> <style type="text/css"> </style>…but not in this:-
<code............>............</code> <style type="text/css"> code { font-family: "verdana"; font-size: 19px; color: black; font-weight: bold !important; line-height: 1 !important; } } </style> -
I tried this Regular expression but it did not help:
<code(?!(?:(?!<\/style>)(?s:.) )*<style>)- it matches both (I want it to skip finding the<code......in example 2 since there is a “code” between “<style” and “</style>”) -
(?s)<code.*?code\x20\{\s*font-family(*SKIP)(*F)|<codeworks but I would like an expert to confirm if it is the best method
@peterjones @alan-kilborn @guy038 or anyone else willing to help, if you have any alternative method also, I am willing to use it, since some of you dislike the (*SKIP)(*F) method -
I have relied on the explanation of the (*SKIP)(*FAIL) method mentioned at https://community.notepad-plus-plus.org/topic/26812/generic-regex-how-to-use-the-couple-of-backtracking-control-verbs-skip-fail-or-skip-f-in-regexes/5
-
D dr ramaanand referenced this topic
-
An alternative Regular expression can be to introduce a negative lookahead between
.*?and thecodejust after it in this Regex:<code.*?code\x20\{\s*font-family
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