質問編集履歴

3

内容の追記

2019/02/08 07:07

投稿

gran-1123
gran-1123

スコア18

test CHANGED
File without changes
test CHANGED
@@ -2,21 +2,21 @@
2
2
 
3
3
 
4
4
 
5
- 現在、「機動戦士ガンダム」シリーズに関するWebページのHTMLを一つにまとめたデータを入力として、
6
-
7
- 「作中の年代」「作中の出来事」「作品名」の三つの要素に適合するテキストを正規表現を用いて抽出し、リストとして出力するプログラムを作成しています。
5
+ 現在、機動戦士ガンダム」シリーズに関するWebページのHTMLを一つにまとめたデータを入力として、BeautifulSoupでテキスト部分のみを抽出。それで抽出したテキストから「作中の年代」「作中の出来事」「作品名」の三つの要素に適合するテキストを正規表現を用いて抽出し、リストとして出力するプログラムを作成しています。
8
6
 
9
7
 
10
8
 
11
- 際に、「作中の年代」に適合するテキストが抽出された行から最も近い「作中の出来事」「作品名」に適合するテキストを抽出する処理を施したいと考えています。
9
+ リストが出力される前処理として、「作中の年代」に適合するテキストが抽出された行を参照して、「作中の出来事」「作品名」に適合するテキストをその行、あるいはその行に最も近い別の行から抽出して単純に抽出された順番でリストに格納、そのリスト内の重複を排除する処理を施し、重複が排除されリストを出力したいと考えています。
12
10
 
13
11
 
12
+
13
+ また、3つ全ての要素が揃っていない場合は考えなくてよいものとしています。
14
14
 
15
15
  ### 発生している問題・エラーメッセージ
16
16
 
17
17
 
18
18
 
19
- しかし、作中の年代を抽出する部分まではできたのですが、finditerの返り値をどのように使えれば前述手法実現ことができるかわからずに途方にくれてしまいました。
19
+ 作中の年代を抽出し、年代順にソートすることと、重複を排除する処理はできたのですが、finditerの返り値をどのように使えれば「作中出来事」「作品名」抽出する場所を「作中の年代」が抽出れた行、あいはその前後の行に限定できるのかができるかわからずに途方にくれてしまいました。
20
20
 
21
21
 
22
22
 
@@ -150,6 +150,20 @@
150
150
 
151
151
  print(tit_list)
152
152
 
153
+
154
+
155
+ 出力(リストの中身)
156
+
157
+ his_list:['U.C.0001', 'U.C.0058', 'U.C.0063', 'U.C.0068', 'U.C.0071', 'U.C.0074', 'U.C.0077', 'U.C.0078', 'U.C.0079', 'U.C.0080', 'U.C.0081', 'U.C.0082', 'U.C.0083', 'U.C.0084', 'U.C.0085', 'U.C.0087', 'U.C.0088', 'U.C.0089', 'U.C.0090', 'U.C.0091', 'U.C.0092', 'U.C.0093', 'U.C.0094', 'U.C.0095', 'U.C.0096', 'U.C.0097', 'U.C.0099', 'U.C.0100', 'U.C.0103', 'U.C.0104', 'U.C.0105', 'U.C.0106', 'U.C.0107', 'U.C.0120', 'U.C.0121', 'U.C.0122', 'U.C.0123', 'U.C.0133', 'U.C.0136', 'U.C.0140', 'U.C.0143', 'U.C.0149', 'U.C.0153', 'U.C.0168', 'U.C.0169', 'U.C.0203', 'U.C.0218', 'U.C.0223', 'U.C.0653', 'U.C.1000']
158
+
159
+
160
+
161
+ hap_list:['第二次オールズモビル戦役', '一年戦争', 'ラプラス事件', 'のラプラス事件', 'デラーズ紛争', 'グリプス戦役', 'ペズンの反乱', '第一次ネオ・ジオン抗争', '第二次ネオ・ジオン抗争', 'ラプラス戦争', 'マフティー戦争', '第一次オールズモビル戦役', 'シャアの反乱', 'ゼブラゾーン事件', 'コスモ・バビロニア建国戦争', '木星戦役', 'ザンスカール戦争', 'ガイアの光事件', '独立戦争', '30バンチ事件', 'オールズモビル戦役', '年戦争', '第一次ネオ・ジオン戦争', '1年戦争']
162
+
163
+
164
+
165
+ tit_list:['機動戦士ガンダム', '機動戦士ガンダム 逆襲のシャア', '機動戦士ガンダムF91', '機動戦士ガンダム U.C.0094 アクロス・ザ・スカイ', '機動戦士ガンダム U.C.0096 ラスト・サン', '機動戦士ユニコーンガンダム', '機動戦士Vガンダム', '機動戦士クロスボーン・ガンダム', '機動戦士ガンダムUC', '機動戦士ガンダム THE ORIGIN', '機動戦士ガンダム0083', '機動戦士Zガンダム', '機動戦士ガンダムZZ', '機動戦士ガンダムF90', '機動戦士ガンダム THE ORIGIN VI 誕生 赤い彗星 ', 'ガンダム・センチネル', '機動戦士ガンダムNT ', '機動戦士ガンダム 閃光のハサウェイ', '機動戦士ガンダムF90 ', '機動戦士ガンダム\u3000シルエットフォーミュラ91 機動戦士ガンダム シルエットフォーミュラ91 ', '機動戦士ガンダムF91 クロスボーン・バンガード', '機動戦士ガンダムサンダーボルト', '機動戦士ZZガンダム', '機動戦士ムーンガンダム', '機動戦士ガンダムNT', '機動戦士ガンダムUC ', '機動戦士ガンダム サンダーボルト DECEMBER SKY ', '機動戦士Ζガンダム', '機動戦士ガンダム 逆襲のシャア ', '機動戦士ガンダム閃光のハサウェイ', '機動戦士ガンダムF91 ']
166
+
153
167
  ```
154
168
 
155
169
 
@@ -172,4 +186,12 @@
172
186
 
173
187
  Pythonのバージョンは3.6.5です。
174
188
 
189
+
190
+
175
- 入力データである'/home/urai/crawling/gandamu/gandamu uchuuseiki/26.html'の中身は「機動戦士ガンダム」内の歴史である「宇宙世紀」について記された複数のWebページのHTMLデータを一つにまとめた物になります。
191
+ 入力データである'/home/urai/crawling/gandamu/gandamu uchuuseiki/26.html'の中身は「機動戦士ガンダム」内の歴史である「宇宙世紀」について記された複数のWebページのHTMLデータを一つにまとめた物になります。(「ガンダム 宇宙世紀」とグーグル検索して出てきた上位25ページのHTMLをまとめている)
192
+
193
+ 抽出の際にはHTMLに記載されたテキストは一行ずつ読み取られ、文字列となります。
194
+
195
+
196
+
197
+ 事前の実験の結果、各要素に該当するテキストの数は均一ではありません。

2

ソースコードを変更し、抽出方法をfinditerに変更

2019/02/08 07:07

投稿

gran-1123
gran-1123

スコア18

test CHANGED
@@ -1 +1 @@
1
- reモジュールを用いて要素を抽出した際に、抽出した行と列を保持し、それを参考に他の要素を抽出したい
1
+ reモジュールを用いて正規表現に適合した要素を抽出した際に、抽出した行と列を参考に他の要素を抽出したい
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- その際に、「作中の年代」に適合するテキストが抽出された際に、それに連動して「作中の年代抽出された行と列を保持する処理を実装したいと考えています。
11
+ その際に、「作中の年代」に適合するテキストが抽出された行から最も近い「作中の出来事「作品名」に適合するテキストを抽出する処理をしたいと考えています。
12
12
 
13
13
 
14
14
 
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- しかし、前述の手法を実現させるための糸口さえ掴め完全に途方にくれてしまいました。
19
+ しかし、作中の年代を抽出する部分まではできたのですが、finditerの返り値をどのように使えれば前述の手法を実現させることができるかわからずに途方にくれてしまいました。
20
20
 
21
21
 
22
22
 
@@ -36,8 +36,6 @@
36
36
 
37
37
 
38
38
 
39
- absobe_text = []#入力データを格納しておく関数
40
-
41
39
  results_hi = []#年号を格納しておく関数
42
40
 
43
41
  results_t = []#作品タイトルを格納しておく関数
@@ -50,11 +48,7 @@
50
48
 
51
49
  absobe_pattern_history = 'U.C.[0-9]{4}|宇宙世紀[0-9]{4}'#宇宙世紀の年号
52
50
 
53
-
54
-
55
51
  absobe_pattern_title = '機動戦士ガンダム[  \t\n\r\f\v一-龥ぁ-んァ-ンa-zA-ZΖ0-9_ー・.]{1,}|機動戦士ガンダム|機動戦士[\t\n\r\f\v一-龥ぁ-んァ-ンa-zA-ZΖ0-9_ー・.]{1,}ガンダム|機動戦士[\t\n\r\f\v一-龥ぁ-んァ-ンa-zA-ZΖ0-9_ー・.]{1,}ガンダム[  \t\n\r\f\v一-龥ァ-ンa-xA-ZΖ0-9_ー・]{1,}|ガンダム・センチネル'#作品タイトル抽出パターン
56
-
57
-
58
52
 
59
53
  absobe_pattern_happen = '[\t\n\r\f\v一-龥ァ-ンa-zA-Z0-9_ー・]{1,}戦争|[\t\n\r\f\v一-龥ァ-ンa-zA-Z0-9_ー・]{1,}戦役|[\t\n\r\f\v一-龥ァ-ンa-zA-Z0-9_ー・]{1,}紛争|[\t\n\r\f\v一-龥ァ-ンa-zA-Z0-9_ー・]{1,}抗争|[\t\n\r\f\v一-龥ァ-ンのa-zA-Z0-9_ー・]{1,}事件|[\t\n\r\f\v一-龥ァ-ンのa-zA-Z0-9_ー・]{1,}反乱'#出来事抽出パターン
60
54
 
@@ -66,7 +60,7 @@
66
60
 
67
61
  with open(filepath , encoding='utf-8') as f:
68
62
 
69
- html = f.readlines()
63
+ html = f.readlines()#入力データの各行を要素としたリストを取得
70
64
 
71
65
  for i in html:
72
66
 
@@ -76,45 +70,67 @@
76
70
 
77
71
  text.strip()#空白、改行を排除
78
72
 
79
- count_line += 1
73
+ count_line += 1#行数をカウント
80
74
 
81
- absobe_text = text#別のリスト格納
75
+ matchedList_h = re.finditer(absobe_pattern_history,text)#条件適合した文(年号)をイテレータとして返す
82
76
 
83
- #print(absobe_text)
77
+ if matchedList_h:#もし適合していたら
84
78
 
85
- matchedList_h = re.findall(absobe_pattern_history, absobe_text)#条件に適合した文(年号)を抽出、matchedList_hに格納、どうやって抽出された行を判定?
79
+ for hi in matchedList_h:
86
80
 
87
- matchedList_ha = re.findall(absobe_pattern_happen, absobe_text)#条件に適合した文(年号)抽出、matchedList_haに格納、どうやってmatchedList_hが判定した行の付近から抽出させる?
81
+ results_hi.append(hi.group())#マッチした文字列results_hiに格納
88
82
 
89
- matchedList_t = re.findall(absobe_pattern_title, absobe_text)#条件に適合した文(年号)を抽出、matchedList_tに格納、どうやってmatchedList_hが判定した行の付近から抽出させる?
83
+ matchedList_ha = re.findall(absobe_pattern_happen,text)#条件に適合した文(年号)を抽出、matchedList_haに格納、どうやってmatchedList_hが判定した行の付近から抽出させる?
90
84
 
91
- #if len(matchedList_h):#年代のリスト真になっ数だけ抽出ようにする、これではダメ
85
+ matchedList_t = re.findall(absobe_pattern_title,text)#条件に適合した文(年号)を抽出、matchedList_tに格納、どうやってmatchedList_h判定し行の付近から抽出させ
92
86
 
93
- results_hi.append(matchedList_h)#results_hiに格納
87
+ results_ha.append(matchedList_ha)#esults_haに格納
94
88
 
95
- results_ha.append(matchedList_ha)#esults_haに格納
96
-
97
- results_t.append(matchedList_t)#results_tに格納
89
+ results_t.append(matchedList_t)#results_tに格納
98
90
 
99
91
  f.close()
100
92
 
93
+
101
94
 
102
-
103
- UC_history = [hi[0] for hi in results_hi if hi != []]#抽出データから空のリストを取り除いた上で、入れ子構造を解消
104
-
105
- UC_title = [t[0] for t in results_t if t != []]#上に同じ
95
+ UC_title = [t[0] for t in results_t if t != []]#リスト内の空のリストを消して入れ子構造を解消
106
96
 
107
97
  UC_happen = [ha[0] for ha in results_ha if ha != []]#上に同じ
108
98
 
99
+
109
100
 
110
-
111
- UCH = ",".join(UC_history)#置き換え処理のために一度リストを一つの文字列にする
101
+ UCH = ",".join(results_hi)#置き換え処理のために一度リストを一つの文字列にする
112
102
 
113
103
  UC_history2 = re.sub(r'宇宙世紀([0-9]{4})', r'U.C.\1',UCH)#re.subで"宇宙世紀"の部分を"U.C."に置き換え
114
104
 
115
105
  UCH2 = UC_history2.split(",")#リストに戻す、これで表記を統一
116
106
 
107
+
117
108
 
109
+ UCHA = [i for i in UC_happen if not re.search('.*画像.*', i) and not re.search('.*Blu.*', i)\
110
+
111
+ and not re.search('.*内容.*', i) and not re.search('.*DVD.*', i) and not re.search('.*BOX.*', i)\
112
+
113
+ and not re.search('.*ボックス*', i) and not re.search('.*コミック*', i) and not re.search('.*公式*', i)\
114
+
115
+ and not re.search('.*作画*', i) and not re.search('.*シリーズ*', i)]#「作中の出来事」を内包したリストからノイズとなる単語を含んだ要素の排除したリストの生成
116
+
117
+
118
+
119
+ UCT = [i for i in UC_title if not re.search('.*画像.*', i) and not re.search('.*Blu.*', i)\
120
+
121
+ and not re.search('.*内容.*', i) and not re.search('.*DVD.*', i) and not re.search('.*BOX.*', i)\
122
+
123
+ and not re.search('.*ボックス*', i) and not re.search('.*コミック*', i) and not re.search('.*公式*', i)\
124
+
125
+ and not re.search('.*作画*', i) and not re.search('.*シリーズ*', i) and not re.search('.*図鑑*', i)\
126
+
127
+ and not re.search('.*年表*', i) and not re.search('.*時系列*', i) and not re.search('.*ガンプラ*', i)\
128
+
129
+ and not re.search('.*設定*', i)and not re.search('.*ナラティブ*', i)and not re.search('.*辞典*', i)\
130
+
131
+ and not re.search('.*全集*', i)and not re.search('.*記録*', i)and not re.search('.*アニメ*', i)]#「作品名」を内包したリストからノイズとなる単語を含んだ要素の排除したリストの生成
132
+
133
+
118
134
 
119
135
  his_list = sorted(set(UCH2), key=UCH2.index)#sortedでリスト内部の重複を排除
120
136
 
@@ -122,31 +138,17 @@
122
138
 
123
139
  hap_list = sorted(set(UCHA), key=UCHA.index)#上に同じ
124
140
 
125
-
141
+
126
142
 
127
143
  his_list.sort()#his_listの中身を古い>新しいの順番に並び替える
128
144
 
129
-
145
+
130
146
 
131
147
  print(his_list)
132
148
 
133
149
  print(hap_list)
134
150
 
135
151
  print(tit_list)
136
-
137
-
138
-
139
-
140
-
141
- 出力
142
-
143
-
144
-
145
- ['U.C.0001', 'U.C.0058', 'U.C.0063', 'U.C.0068', 'U.C.0071', 'U.C.0079', 'U.C.0080', 'U.C.0081', 'U.C.0082', 'U.C.0083', 'U.C.0084', 'U.C.0085', 'U.C.0087', 'U.C.0088', 'U.C.0089', 'U.C.0090', 'U.C.0091', 'U.C.0092', 'U.C.0093', 'U.C.0094', 'U.C.0095', 'U.C.0096', 'U.C.0097', 'U.C.0099', 'U.C.0100', 'U.C.0103', 'U.C.0104', 'U.C.0105', 'U.C.0106', 'U.C.0107', 'U.C.0120', 'U.C.0121', 'U.C.0122', 'U.C.0123', 'U.C.0133', 'U.C.0136', 'U.C.0140', 'U.C.0143', 'U.C.0149', 'U.C.0153', 'U.C.0168', 'U.C.0169', 'U.C.0203', 'U.C.0218', 'U.C.0223', 'U.C.0653', 'U.C.1000']
146
-
147
- ['ラプラス事件', '一年戦争', '南洋同盟の反乱', 'デラーズ紛争', 'グリプス戦役', 'ペズンの反乱', '第一次ネオ・ジオン抗争', 'レジオン建国戦争', '第二次ネオ・ジオン抗争', 'ラプラス戦争', 'マフティー戦争', 'オールズモビル戦役', '第一次オールズモビル戦役', '第二次オールズモビル戦役', 'ゼブラゾーン事件', 'コスモ・バビロニア建国戦争', '木星戦役', 'ザンスカール戦争', 'マハの反乱', 'ガイアの光事件', '独立戦争', '内部抗争', '高烈度紛争', '最終戦争', 'ジオン独立戦争', '1年戦争', '一週間戦争', 'ルウム戦役', '一週間戦争戦争', '宇宙戦争', '議会軍の反乱', '武力紛争', 'のラプラス事件', 'シャアの反乱', '年戦争', '30バンチ事件', '大戦争', '・ラプラス事件', '・一年戦争', 'の事件', '第一次ネオ・ジオン戦争', 'コスモ・バビロニア戦争', 'ザン・スカール戦争', 'バンチ事件', '未遂事件', '第二次ネオジオン抗争']
148
-
149
- ['機動戦士ガンダム', '機動戦士Ζガンダム', '機動戦士ガンダムUC', '機動戦士クロスボーン・ガンダム', '機動戦士ガンダム0080 ポケットの中の戦争', '機動戦士Vガンダム', '機動戦士ガンダム 逆襲のシャア', '機動戦士ガンダム THE ORIGIN', '機動戦士ガンダム サンダーボルト', '機動戦士ガンダム 逆襲のシャア ベルトーチカ・チルドレン', '機動戦士ガンダム 閃光のハサウェイ', '機動戦士ガンダム シルエットフォーミュラ91', '機動戦士ガンダムF91', '機動戦士ガンダム 第08MS小隊', '機動戦士ガンダム MS IGLOO', '機動戦士ガンダム\u3000サンダーボルト', '機動戦士ガンダム0083 STARDUST MEMORY', '機動戦士ガンダム カタナ', '機動戦士ガンダム0083 REBELLION', '機動戦士ガンダム エコール・デュ・シエル', 'ガンダム・センチネル', '機動戦士ガンダムΖΖ', '機動戦士ガンダムΖΖ外伝 ジオンの幻陽', '機動戦士ガンダム ', '機動戦士ガンダム MSV', '機動戦士ガンダム ジオンの再興', '機動戦士ガンダム 新ジオンの再興', '機動戦士ムーンガンダム', '機動戦士ガンダム U.C.0094 アクロス・ザ・スカイ', '機動戦士ガンダム U.C.0096 ラスト・サン', '機動戦士ガンダム Twilight AXIS', '機動戦士ガンダムNT', '機動戦士ガンダム ムーンクライシス', '機動戦士ガンダムReon', '機動戦士ガンダムF90', '機動戦士ガンダム大事典', '機動戦士ガンダム MS IGLOO グラフィックファイル', '機動戦士ガンダム0079', '機動戦士ガンダム ムーンクライシス 下巻', '機動戦士ガンダム CD', '機動戦士ガンダムさん', '機動戦士ガンダム 鉄血のオルフェンズ', '機動戦士ガンダムUC RE', '機動戦士ガンダムII 哀・戦士編', '機動戦士ガンダムIII めぐりあい宇宙編', '機動戦士SDガンダム', '機動戦士ガンダム0083 ', '機動戦士ガンダム 第07板倉小隊', '機動戦士ガンダム THE ORIGIN MSD', '機動戦士ガンダム CROSS DIMENSION 0079 死にゆく者たちへの祈り', '機動戦士ガンダム外伝 THE BLUE DESTINY', '機動戦士ガンダム外伝 コロニーの落ちた地で', '機動戦士ガンダム外伝 宇宙', '機動戦士ガンダム外伝 ミッシングリンク', '機動戦士ガンダム EX', '機動戦士ガンダム MSジェネレーション', '機動戦士ガンダム Before One Year War', '機動戦士ガンダム オレら連邦愚連隊', '機動戦士ガンダム GROND ZERO コロニーの落ちた地で', '機動戦士ガンダム サンダーボルト外伝 砂鼠のショーン', '機動戦士ガンダム サンダーボルト外伝', '機動戦士ガンダム 黒衣の狩人', '機動戦士ガンダム FAR EAST JAPAN', '機動戦士ガンダム アグレッサー', '機動戦士ガンダム0080 ポケットの中の戦争 プラモデル解説書', '機動戦士ガンダム 第08MS小隊外伝 TRIVIAL OPERATION', '機動戦士ガンダム MS IGLOO ', '機動戦士ガンダム MS IGLOO 603', '機動戦士ガンダム MS IGLOO 2 重力戦線', '機動戦士ガンダム ファントム・ブレット', '機動戦士ガンダム ブレイジングシャドウ', '機動戦士ガンダム C.D.A. 若き彗星の肖像', '機動戦士ゼータガンダム', '機動戦士Oガンダム', '機動戦士ガンダム ハイ・ストリーマー', '機動戦士ガンダム 逆襲のシャア モビルスーツバリエーション', '機動戦士ガンダム短編集', '機動戦士ガンダム クラシックオペレーション', '機動戦士ガンダム シャアの帰還', '機動戦士ガンダムUC モビルスーツバリエーション', '機動戦士ガンダムF91 モビルスーツバリエーション', '機動戦士ガンダム ストーリーブック2巻', '機動戦士ガンダム ストーリーブック4巻', '機動戦士ガンダム モビルスーツバリエーション ', '機動戦士ガンダム CROSS DIMENSION 0079', '機動戦士ガンダム めぐりあい宇宙', '機動戦士ガンダム サイドストーリーズ', '機動戦士ガンダム ギレンの野望', '機動戦士ガンダムUC 星月と', '機動戦士ガンダムUC One of Seventy Two', '機動戦士ガンダムUC バンデシネ', '機動戦士ガンダム 戦場の絆', '機動戦士ぶよガンダム', '機動戦士ガンダム_MSV', '機動戦士ガンダム オンライン', '機動戦士ユニコーンガンダム', '機動戦士ガンダムTHE ORIGIN vol.1 始動編', '機動戦士ガンダム THE ORIGIN I ', '機動戦士ガンダム THE ORIGIN ', '機動戦士ガンダム MSイグルー', '機動戦士ガンダム MSイグルー ', '機動戦士ガンダム MS IGLOO2 重力戦線', '機動戦士ガンダム MSイグルー2 重力戦線 1 あの死神を撃て', '機動戦士ガンダム サンダーボルト DECEMBER SKY ', '機動戦士Zガンダム', '機動戦士ガンダムZZ', '機動戦士ガンダムユニコーン RE', '機動戦士ガンダムUC ', '機動戦士ガンダムF90 ', '機動戦士ガンダム\u3000シルエットフォーミュラ91 機動戦士ガンダム シルエットフォーミュラ91 ', '機動戦士ガンダムF91 クロスボーン・バンガード', '機動戦士ガンダム0083に登場した浪漫機体の魅力 ', '機動戦士ガンダムサンダーボルト', '機動戦士ガンダムTHEORIGIN', '機動戦士ガンダムMS IGLOO', '機動戦士ガンダム第08MS小隊', '機動戦士ガンダム0080ポケットの中の戦争', '機動戦士ガンダム逆襲のシャア', '機動戦士ガンダムTwilightAXIS', '機動戦士ガンダム外伝ミッシング・リンク', '機動戦士ガンダム外伝 ミッシング・リンク終章', '機動戦士ガンダムMSV', '機動戦士ガンダム UC0094 アクロス・ザ・スカイ', '機動戦士ガンダムムーンクライシス', '機動戦士ガンダム閃光のハサウェイ', '機動戦士ガンダムシルエット・フォーミュラF91', '機動戦士ガンダムUC フルアーマー・ユニコーンガンダム 1', '機動戦士ガンダム0083', '機動戦士ガンダムSEED', '機動戦士ガンダムSEED DESTINY', '機動戦士ガンダムOO', '機動戦士ガンダムAGE', '機動戦士ガンダム THE ORIGIN 誕生 赤い彗星', '機動戦士ガンダムUC 1', '機動戦士ガンダムMS イグルー', '機動戦士ガンダム迷珍場面まとめ', '機動戦士ガンダム\u3000サンダーボルト\u3000外伝', '機動戦士ガンダム\u3000第', '機動戦士ガンダム外伝 ザ・ブルー・ディスティニー', '機動戦士ガンダム ギレン暗殺計画', '機動戦士ガンダム 光芒のア・バオア・クー', '機動戦士ガンダム THE ORIGIN MSD ククルス・ドアンの島', '機動戦士ガンダム外伝', '機動戦士ガンダム\u3000', '機動戦士ガンダム外伝\u3000コロニーの落ちた地で', '機動戦士ガンダム外伝\u3000宇宙', '機動戦士ガンダム THE MSV ザ・モビルスーツバリエーション', '機動戦士ガンダム 名も無き戦場', '機動戦士ガンダム デイアフタートゥモロー ', '機動戦士ガンダム U.C.HARD GRAPH 鉄の駻馬', '機動戦士ガンダムC.D.A.\u3000若き彗星の肖像', '機動戦士ガンダム\u3000エコール・デュ・シエル', '機動戦士ガンダム ANAHEIM RECORD', '機動戦士ガンダム 逆襲のシャア\u3000ベルトーチカ・チルドレン', '機動戦士ガンダムUC\u3000虹にのれなかった男', '機動戦士ガンダムTHE ORIGIN シャアとキャスバル', '機動戦士ガンダムさん ニッポン', '機動戦士ガンダム ハイブリッド', '機動戦士ガンダム アッガイ北米横断2250マイル', '機動戦士ガンダムTHE ORIGIN 笑劇のまるごとシャア・セイラ編', '機動戦士ガンダムTHE ORIGIN 笑劇のまるごとシャア・セイラ編 著者', '機動戦士ガンダムTHE ORIGIN vol.1 始動編 posted with ヨメレバ 安彦 良和', '機動戦士ガンダム THE ORIGIN VI 誕生 赤い彗星 ', '機動戦士ガンダムNT ', '機動戦士ガンダムは', '機動戦士ガンダム THE ORIGIN VI 誕生 赤い彗星 posted with カエレバ 池田秀一 2018', '機動戦士ZZガンダム', '機動戦士ガンダム逆襲のシャア オススメ度', '機動戦士ガンダムU... \n', '機動戦士ガンダムUC パイロット', '機動戦士ガンダムUC ユニコーンガンダム 1', '機動戦士ガンダム NT', '機動戦士ガンダムF', '機動戦士ガンダム ', '機動戦士ガンダム 逆襲のシャア ', '機動戦士ガンダム 閃光のハサウェイ ', '機動戦士ガンダム0080\u3000ポケットの中の戦争', '機動戦士ガンダムジオリジン', '機動戦士ガンダムって感じがします', '機動戦士ガンダム THE ORIGIN シャア・セイラ編 I 青い瞳のキャスバル posted with カエレバ 田中真弓 株式会社サンライズ 2016', '機動戦士ガンダム MSイグルー2 重力戦線', '機動戦士ガンダム 第08MS小隊 ', '機動戦士ガンダム0080 ポケットの中の戦争 ', '機動戦士ガンダム サンダーボルト ', '機動戦士ガンダム0083 STARDUST MEMORY ', '機動戦士ガンダムΖΖ ', '機動戦士ガンダム 逆襲のシャア ', '機動戦士ガンダムとZガンダムで起きた戦争を生きてきたアムロとシャアの思惑が交錯するのがいいですね', '機動戦士ガンダムF91 ', '機動戦士ガンダムに関しては', '機動戦士ガンダム 第', '機動戦士ガンダム0083 スターダストメモリー', '機動戦士ガンダム00', '機動戦士ガンダム Zガンダム ... \n', '機動戦士ガンダム鉄血のオルフェンズの時代というのは宇宙新世紀なのですか']
150
152
 
151
153
  ```
152
154
 
@@ -160,7 +162,7 @@
160
162
 
161
163
 
162
164
 
163
- その他には、何かに使えるかという考えで、今何行目を読み込んでるのかを確認するcount_lineを追加しました。
165
+ その他には、何かに使えるかという考えで、今何行目を読み込んでるのかを確認するcount_lineを追加し、マッチしたテキストの抽出方法をfindallからfinditerに変更しました。
164
166
 
165
167
 
166
168
 

1

実現したいことをより明確にしました

2019/02/08 05:51

投稿

gran-1123
gran-1123

スコア18

test CHANGED
File without changes
test CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
  現在、「機動戦士ガンダム」シリーズに関するWebページのHTMLを一つにまとめたデータを入力として、
6
6
 
7
- 「作中の年代」「作中の出来事」「作品名」の三つの要素に適合するテキストを正規表現を用いて抽出しリストとして出力するプログラムを作成しています。
7
+ 「作中の年代」「作中の出来事」「作品名」の三つの要素に適合するテキストを正規表現を用いて抽出しリストとして出力するプログラムを作成しています。
8
8
 
9
9
 
10
10
 
11
- その際に、「作中の年代」に該当するテキストが抽出された際に、それに連動して抽出された行と列を保持し、それを参考に「作中の出来事」「作品名」の要素を抽出させることにより、「作中の年代」の要素数以上に「作中の出来事」「作品名」が抽出されないようにする処理を実装したいす。
11
+ その際に、「作中の年代」に適合するテキストが抽出された際に、それに連動して「作中の年代」が抽出された行と列を保持する処理を実装したいと考えています。
12
12
 
13
13
 
14
14