Python regex:按 字符分割,只要 在开始时是n't



我有一个字符串,我想用新的行字符分割,但是如果n字符在字符串的开头,我想保留它。我知道A匹配字符串的开头,但我不知道如何求反它。我猜我会用这样的东西:

re.split(r"(expression here) & (?<! )n", text)

(我也留下n字符前加空格)

谁能给我指个正确的方向?

一个例子:

"
:10 e:1110 h:1111 l:110 o:000 x:001 y:010 z:011
11111110110110000100011001010011"

"n:10 e:1110 h:1111 l:110 o:000 x:001 y:010 z:011n11111110110110000100011001010011"

应该显示为

["n:10 e:1110 h:1111 l:110 o:000 x:001 y:010 z:011","11111110110110000100011001010011"]

由于遍历实际上不会移动主题字符串中正则表达式引擎的"游标",因此您可以简单地在同一位置检查两个条件,方法是依次编写两个遍历:

(?<![ ])(?<!A)n

注意,A匹配的是字符之间的位置,而不是字符之间的位置,所以forward同样有效:

(?<![ ])(?!A)n

方括号不是必需的,但我发现它们有助于提高可读性,因为它们更容易发现文字空白字符。

最新更新