前提・実現したいこと
下記のような文字列について、“「」”のみの行が連続している部分を正規表現でマッチさせたいのですが、うまくいきません。
該当のソースコード
python
1import sys, os 2import re 3 4temporary = """ 501: 〓 602: 「」〓 703: 「」〓 804: 「」 905: 「」 1006: 「」〓「」〓 1107: 「」 1208: 〓 1309: 「」 1410: 「」〓 1511: 「」〓「」 1612: 「」 1713: 「」 1814: 「」 1915: 「」「」 2016: 「」〓 2117: 「」 2218: 「」 2319: 〓「」 2420: 「」 25""" 26 27print(temporary) 28match = re.findall(r'(^「」$){2,}', temporary, flags=(re.MULTILINE | re.DOTALL)) 29print(match)
(ヒアドキュメントの部分では説明のため行番号『01:』を入れてあります)
具体例
04と05の連続、12と13と14の連続、17と18の連続で ['「」「」','「」「」「」','「」「」「」']
を期待しています。
01のように〓だけのときはマッチしない。02のようにかっこの後に〓があるときはマッチしない。15のように「」が1行で連続しているときはマッチしない。07のように「」が連続しないときはマッチしない。19のように行頭に〓があるときはマッチしない。
試したこと
match = re.findall(r'(「」\n){2,}', temporary, flags=re.DOTALL)
とかも試したけどうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
python 3.7
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。