Python regex:只要\n不在s处,就按字符分割

2024-03-29 10:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个要按新行字符拆分的字符串,但如果该字符位于字符串的开头,则希望保留该字符。我知道\ A匹配字符串的开头,但我不知道如何否定它。我想我会用一些类似的东西:

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

(我还将前面带有空格的字符\n保留在中)

谁能给我指出正确的方向吗?在

例如:

^{pr2}$

或者

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

应该是

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

Tags: 字符串textrehere方向字符split空格
1条回答
网友
1楼 · 发布于 2024-03-29 10:18:52

由于lookaround实际上并不推进subject字符串中regex引擎的“cursor”,所以您可以简单地在同一个位置检查两个条件,方法是一个接一个地编写两个lookaround:

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

请注意,\A匹配的是字符之间的位置,而不是字符之间的位置,因此前瞻同样有效:

^{pr2}$

方括号不是必需的,但我发现它们有助于可读性,因为它们更容易识别字面空格字符。在

相关问题 更多 >