Python3正規表現で格好良く記述したい ちょっと頑張る編

これで正規表現も3回目ということで今回はちょっと頑張って正規表現っぽいものを書いたり

置き換えや区切ったりちょっとだけ頑張ります。

Python3を正規表現で格好良く記述したい 準備編 - じゃあ、おうちで学べよ

Python3正規表現で格好良く記述したい 適当に使ってみた編 - じゃあ、おうちで学べる

 

んで、なにかいいお題は無いかと考えていたら

言語処理100本ノック 2015

みんな大好き言語処理100本ノックの3章があるではないですか!!

レベルはなかなかに高いですがやっていきたいと思います。

出力があってるか凄く不安なので参考程度によろしくお願いします。

10問解くころにはおじいちゃんになっていそうなので回答が出来次第公開していきます。

 

 

No.20

Wikipedia記事のJSONファイルを読み込み,「イギリス」に関する記事本文を表示せよ.問題21-29では,ここで抽出した記事本文に対して実行せよ.

gist.github.com

No.21

記事中でカテゴリ名を宣言している行を抽出せよ.

 

Category:文字列という行を出力すれば楽そう。

gist.github.com

 

No.22

記事のカテゴリ名を(行単位ではなく名前で)抽出せよ.

 

Category:文字列の文字列の部分だけ表示すればよいのでって思っていたら

文字列の最後にごみがいっぱいあるのでそこの条件さえ分けてあげれば完成

ちょっと、深夜に作業していて動くのでいいや感が出てます。

(?P<name>...)

正規表現の丸括弧に似ていますが、グループによってマッチした部分文字列はシンボリックグループ名 name によってアクセス可能になります。グループ名は有効な Python 識別子でなければならず、グループ名は 1 個の正規表現内で一意でなければなりません。シンボリックグループは番号付けもされており、番号によるアクセスも可能です。

gist.github.com

 

No.23

記事中に含まれるセクション名とそのレベル(例えば"== セクション名 =="なら1)を表示せよ.

 

  

gist.github.com

No.24

記事から参照されているメディアファイルをすべて抜き出せ.

 

gist.github.com

環境に関しては準備編に準ずる。

ipythonを使用しているのでモジュールなどはいちいち記述していない。

(notebook使えよってツッコミは甘んじて受け入れます。もうしわけございません。) 

 

参考サイト

言語処理100本ノック 2015

正規表現 HOWTO — Python 3.5.1 ドキュメント

 

 

謝罪文

履歴書も書かずに夜にこんなことをしていて申し訳ありません。