Python 按双换行线拆分,优先考虑crlf
实现这一目标的简单方法是:Python 按双换行线拆分,优先考虑crlf,python,regex,split,newline,backtracking,Python,Regex,Split,Newline,Backtracking,实现这一目标的简单方法是: import re re.split(r'(?:\r\n|\r|\n){2}', '...') 但是: 在这种情况下,我希望获得['',\r\n']。我可能需要某种占有欲,或者让它不要倒退。有没有办法?您可以使用环视仪限制\n和\r匹配位置,以避免在CRLF中进行匹配: r'(?:\r\n|\r(?!\n)|(?<!\r)\n){2}' r'(?:\r\n | \r(?!\n)|(?我想你试过r.split(r'(?:\r\n | \r | \r | \n)
import re
re.split(r'(?:\r\n|\r|\n){2}', '...')
但是:
在这种情况下,我希望获得
['',\r\n']
。我可能需要某种占有欲,或者让它不要倒退。有没有办法?您可以使用环视仪限制\n
和\r
匹配位置,以避免在CRLF中进行匹配:
r'(?:\r\n|\r(?!\n)|(?<!\r)\n){2}'
r'(?:\r\n | \r(?!\n)|(?我想你试过r.split(r'(?:\r\n | \r | \r | \n){2},'\r\n\r\n\r\n')
来获取['','','',''
尝试r'(?:\r\n | \r(?)\r(?)| |(?@WiktorStribiż的确,我使用了非捕获括号。我不认为这会有什么不同。是的,你的正则表达式可以回答吗?
r'(?:\r\n|\r(?!\n)|(?<!\r)\n){2}'
>>> import re
>>> re.split(r'(?:\r\n|\r(?!\n)|(?<!\r)\n){2}', '\r\n\r\n\r\n')
['', '\r\n']