Split String On Portion Of Matched Regular Expression (python)
Say I have a string 'ad>ad>ad>>ad' and I want to split on this on the '>' (not the '>>' chars). Just picked up regex and was wondering if there is a way (speci
Solution 1:
You need to use lookarounds:
re.split(r'(?<!>)>(?!>)', 'ad>ad>ad>>ad')
See the regex demo
The (?<!>)>(?!>) pattern only matches a > that is not preceded with a < (due to the negative lookbehind (?<!>)) and that is not followed with a < (due to the negative lookahead (?!>)).
Since lookarounds do not consume the characters (unlike negated (and positive) character classes, like [^>]), we only match and split on a < symbol without "touching" the symbols around it.
Post a Comment for "Split String On Portion Of Matched Regular Expression (python)"