pythonの正規表現の分割項
質問
いつ書の正規表現を利用pythonに分項?
段落で定義される2linebreaks( )ができるサイトの著作権は、弊社スタブと改行が依然として考慮されるべきである。るものとする。
を使用していpythonのソリューション用のpythonの 正規表現の書式 るが延長されます。(この (?P...)
stuff)
例:
the_str = 'paragraph1\n\nparagraph2'
# splitting should yield ['paragraph1', 'paragraph2']
the_str = 'p1\n\t\np2\t\n\tstill p2\t \n \n\tp3'
# should yield ['p1', 'p2\t\n\tstill p2', 'p3']
the_str = 'p1\n\n\n\tp2'
# should yield ['p1', '\n\tp2']
のようには: r'[ \t\r\f\v]*\n[ \t\r\f\v]*\n[ \t\r\f\v]*'
, (
import re
paragraphs = re.split(r'[ \t\r\f\v]*\n[ \t\r\f\v]*\n[ \t\r\f\v]*', the_str)
も醜い.何でもいいですか?
編集:
提案を拒否されています:
r'\s*?\n\s*?\n\s*?'
->いろいろとえば2、3に失敗して \s
含まれ \n
, なので、できる項の規定改以上2 \n
s.
解決
残念ながらありませんの素敵書"スペースがない改行".
と思うのでなければならないことで追加ある空間に x
修飾子としての要因の醜さがあるの疑問: (?x) (?: [ \t\r\f\v]*? \n ){2} [ \t\r\f\v]*?
きまして新しいアカウントを作成しsubruleの文字クラスおよび補間します。
他のヒント
しようとしていませ遺構造の文書を平いですか?お願いしまう docutils ているか。
ることができるかもしれませるのは簡単で、 Docutilsのパーサ よりロールします。
ない正規表現が本当に上品:
from itertools import groupby
def paragraph(lines) :
for group_separator, line_iteration in groupby(lines.splitlines(True), key = str.isspace) :
if not group_separator :
yield ''.join(line_iteration)
for p in paragraph('p1\n\t\np2\t\n\tstill p2\t \n \n\tp'):
print repr(p)
'p1\n'
'p2\t\n\tstill p2\t \n'
'\tp3'
するのはグレーのクラムシェル型クランプの出力も必要となりますのでのでのコースです。
のなかから、有名な"Python Cookbook";-)
ほとんど同じものを用いた欲張り数量詞としてのメリットを活かせる空白文字シーケンスです。
\s*?\n\s*?\n\s*?
所属していません StackOverflow