Which regular expression can I use to find all }
, all while excluding escaped }
?
I.e. how do I get as only match:
{Hello } world} ^
Advertisement
Answer
The following pattern should achieve your goal:
(?<!\)}
The pattern you’re looking for is (?<!...)
:
Matches if the current position in the string is not preceded by a match for …. This is called a negative lookbehind assertion.
In contrast to Amirhossein Kiani’s suggestion, the match does not include the preceding character, but only the closing bracket. To illustrate:
{Hello } world} ^ with negative lookbehind {Hello } world} ^^ with Amirhossein Kiani's suggestion
Note: When working with regular expressions in Python, please study the documentation. Many simple questions like this could be avoided.