回答編集履歴

2

修正

2019/11/09 02:58

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -62,6 +62,8 @@
62
62
 
63
63
  univs = re.split(r'(?<!大大)(?<=大)', text)[:-1]
64
64
 
65
+ # re.split(r'(?<!大.)(?<=大)(?=.)', text) でも良いです。
66
+
65
67
 
66
68
 
67
69
  print(univs)

1

追記

2019/11/09 02:58

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -43,3 +43,41 @@
43
43
 
44
44
 
45
45
  さいあく特定の大学名だけ前以て抽出し、大学名に『大』の字は含まれないという前提で分割します。
46
+
47
+
48
+
49
+ 追記
50
+
51
+ ---
52
+
53
+ よく考えたらこういうのもアリですね。
54
+
55
+ ```Python
56
+
57
+ import re
58
+
59
+
60
+
61
+ text = '東京海洋大大阪大富山大宮崎大埼玉県立大国際基督教大大東文化大'
62
+
63
+ univs = re.split(r'(?<!大大)(?<=大)', text)[:-1]
64
+
65
+
66
+
67
+ print(univs)
68
+
69
+ ```
70
+
71
+
72
+
73
+ **実行結果** [Wandbox](https://wandbox.org/permlink/Oh1mBFnsRXCIJRLa)
74
+
75
+ ```
76
+
77
+ ['東京海洋大', '大阪大', '富山大', '宮崎大', '埼玉県立大', '国際基督教大', '大東文化大']
78
+
79
+ ```
80
+
81
+
82
+
83
+ これなら『日本大阪大』のように、人間にもパース不可能なもの以外は上手く処理できます。