teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追加

2021/03/14 17:15

投稿

KojiDoi
KojiDoi

スコア13727

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