頂いた回答を元に元のrstを少しだけ改変して抽出することができました
rst
1=============
2sphinxタイトル
3=============
4
5§サブタイトルA #ここから->regex replace(Atom側で)で条件を(.+\W)(\n)(\W[==].*)として置換
6============= #置換先文字列を§$1$2$3としてタイトルの頭に§というマーカーを設置
7#なんとかかんとか
8#文字列
9.. code-block:: python
10 :lineos:
11
12 python code
13
14#ここまで抽出したい->ここを.*\n.*\n\nで発見させて#---というマーカーを設置
15
16#---
17
18
19§サブタイトルB
20===========
21~~~~~~~
22~~~~~
23
24#---
25
26§サブタイトルC
27===========
28...~
以下に抽出用プログラムのコードを記します
python
1
2import re
3import os.path
4
5base = os.path.dirname(os.path.abspath(__file__))
6name = os.path.normpath(os.path.join(base, '../対象rstの名前.rst'))
7
8outfile = ""
9
10i = 0
11
12with open(name, "r", encoding="utf-8") as lines:
13 for line in lines:
14 line = line.rstrip('\n')
15 if outfile == "":
16 m = re.search("§", line)
17 if m:
18 i += 1
19 outfile = os.path.normpath(os.path.join(base, './result/'+str(i) + line + ".rst"))
20 print('sub/3/' +str(i) + line)
21 fo = open(outfile, "w", encoding="utf-8")
22 fo.write('sub/2/'+line)
23 fo.write("\n")
24 else:
25 fo.write(line)
26 fo.write("\n")
27 m = re.match("#-.*", line)
28 if m:
29 fo.close()
30 outfile = ""
31
32
コードについてアドバイスなどありましたらぜひご教授ください
回答ありがとうございました!
(WindowsのPycharmでopenがUTF-8じゃないのなんとかなんないですかね...Cpとかになっちゃう。。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。