回答編集履歴

1

追加

2021/03/14 17:15

投稿

KojiDoi
KojiDoi

スコア13692

test CHANGED
@@ -1,15 +1,35 @@
1
1
  `「」`で囲まれた部分とそれ以外をまず切り分け、「それ以外」についてはさらに`・`で分割してその先の処理を進めればよいのではないでしょうか。
2
+
3
+
4
+
5
+ 全体を丸括弧でくくった正規表現をre.splitで使うと、通常は捨てられてしまう「区切りの文字列」も要素として拾ってくれるようになります。
2
6
 
3
7
 
4
8
 
5
9
  ```
6
10
 
7
- a = "あいうえお・かきくけこ・さ「し・す・せ・そ」・たちつてと"
11
+ Python 3.4.10 (default, Oct 4 2019, 19:39:58)
8
12
 
9
- re1 = re.split('(「.*?」)', a)
13
+ Type 'copyright', 'credits' or 'license' for more information
10
14
 
11
- ```
15
+ IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
12
16
 
13
17
 
14
18
 
19
+ In [1]: a = "あいうえお・かきくけこ・さ「し・す・せ・そ」・たちつてと"
20
+
21
+
22
+
23
+ In [2]: import re
24
+
25
+
26
+
27
+ In [3]: re1 = re.split('([^・]*「.*?」)', a)
28
+
29
+
30
+
31
+ In [4]: re1
32
+
15
- このよに全体を丸括弧でくっ正規表現をre.splitで使うと、通常は捨られてしまう「区切りの文字列」も要素して拾ってくれるようになります。
33
+ Out[4]: ['あいえお・かきけこ・', 'さ「し・す・せ・そ」', '・ちつてと']
34
+
35
+ ```