【永久保存版】正規表現ライブラリ 全関数 まとめ

導入

pythonの正規表現ライブラリreの関数を簡略化してまとめたものです。

オブジェクト

正規表現オブジェクト:正規表現が格納されたオブジェクト。

マッチオブジェクト:一部の関数により返されるオブジェクト。マッチした際の情報が格納されている。

関数

patternは「正規表現」、textは「対象となる文章」が入ります。

replacedは「マッチした部分の置き換え後の文字列」が入ります。

関数名(引数)説明
re.match(pattern, text)文頭がマッチするか判定する。マッチした場合、マッチオブジェクトを返す。それ以外の場合、Noneを返す。
re.fullmatch(pattern, text)文全体がマッチするか判定する。マッチした場合、マッチオブジェクトを返す。それ以外の場合、Noneを返す。
re.search(pattern, text)一番最初にマッチした部分の情報をマッチオブジェクトとして返す。それ以外の場合、Noneを返す。
re.findall(pattern, text)マッチした文字列をリストとして返す。丸括弧がある場合、囲われた部分のみを返す。丸括弧が複数ある場合、囲われた部分を分けて、タプルのリストとして返す。
re.finditer(pattern, text)マッチした部分の情報をマッチオブジェクトのイテレータとして返す。
re.sub(pattern, replaced, text)マッチした部分をreplacedで置き換え、「置き換え後のtext」を返す。
re.subn(pattern, replaced, text)マッチした部分をreplacedで置き換え、「置き換え後のtext」と「置き換えた回数」をタプルとして返す。

【GameMaker Studio 2】サブスクしたのに反映されない?原因と解決策を解説

導入

GameMaker Studio 2では、WindowsやMas OS、Androidなど外部向けにコンパイルする際、自身のアカウントでサブスクリプションする必要があります。

大抵の場合、サブスクリプションが完了したあと、GameMaker Studioを再度開くと、直ぐに外部向けのコンパイルができるようになります。…しかし、自分の場合、同じ手順を行ってもサブスクが反映されませんでした。

最近(2021/8)になって、GameMaker Studio 2の購入システムが大きく変化したこともあり、昔のエラー情報を頼ることはできませんでした。また、GameMaker Communityに相談しても原因を突き止めることはできませんでした。

解決は困難を極めましたが、カスタマーサポートが遂に原因を突き止めてくれました。

原因を探すのが難しいにも関わらず、原因は多くの人にも当てはまる罠だった(コミュニティフォーラムに同じ問題を抱えていた人がいた)ので、これは絶対に共有すべきだと思い、この記事を書きました。

サブスクが反映されたか確かめる方法

自分が制作したゲームプロジェクトを開き、右上を見ます。「Test | Local | VM | Default | Default」などと書いてあると思いますが、一番左にある「Test」が「どのプラットフォームに向けてコンパイルするか」を表しています。

プラットフォームに「Test」があればサブスクは反映されておらず、逆に「Windows」や「Mac OS」、「Android」などがあればサブスクは反映されています。

解決策①

「File > Log out」を選択してログアウトし、そのあと再びログインする。

GameMakerを開いたままサブスクをした場合、サブスクの更新が行われていない恐れがある為です。

このサイトに同じことが書いてあります。

https://help.yoyogames.com/hc/en-us/articles/115001219911-How-To-Update-Your-License-To-See-Your-New-Purchase

解決策②

YoyoAccountの2段階認証を解除する。

これは私が陥っていた罠です。2段階認証を設定していると、サブスクが反映されなくなります。2段階認証を再設定すると、また使えなくなるので、2段階認証はバグが解消されるまでオフにしていた方がよさそうです。

解決策③

セキュリティがサブスクの更新を阻害している可能性があります。

https://help.yoyogames.com/hc/en-us/articles/360022953052-User-Permissions-and-Internet-Access-Required-by-GMS2

このサイトからいくつか分かりやすい例を挙げると、

  • ファイアーウォールが悪さをしている
  • ポート80と443が開いていない
  • クラウドのファイル同期によってファイルがロックされている
  • インターネットに繋がっていない
  • ファイルウォッチャーの不具合

解決策④

「他人を頼る」。筆者もこれによって解決することができました。

ゲームメーカーコミュニティーフォーラムを利用する。

アカウントを作成し、質問を投稿すると、皆が集まって解決策を提案してくれます。

https://forum.yoyogames.com/index.php

カスタマーサポートを利用する。

YoyoAccountにログインしてから以下のリンクを開いてください。開いたら、問題のカテゴリーを入力し、その問題が「すでに報告された問題」に含まれていないなら、「I STILL NEED TO REPORT A BUG」をクリック。その後、必要事項を記入。すると、アカウントのメールアドレスに「整理券が割り振られたので、問題の内容をメールに書いて送って下さい」という内容のメールが届きます。書いたメールを送ると、数時間後にカスタマーサポートが返信してくれます。私は最大で9時間待たされたので、中々返信が来なくてもめげないようにしましょう。

https://accounts.yoyogames.com/contact-us

【ヴィーガン必見】動物性食品を食べないとどうなるか?を解説

目次

導入

誰しもヴィーガンという単語を一度でも目にしたことがあるのではないでしょうか。そして大抵の場合、そこには白熱した議論が付属します。「動物が可哀そう」と主張する人もいれば、「生きる為には欠かせない」と主張する人もいて、…「ヴィーガンの食事は普通の食事よりも健康的だ」と主張する人もいれば、「必要な栄養素が足りなくなる」と指摘する人もいます。

では、実際のところヴィーガンの食事は健康面で問題はあるのでしょうか。科学的な視点で考えていこうと思います。

ヴィーガンとは?よくある誤解

まず、ヴィーガンについての語が曖昧なので、この記事で誤解を与えないように、一応、ヴィーガンについての定義をおさらいしようと思います。

veganとは、『研究社 医学英和辞典第2版』によると、「完全菜食主義者、超純粋派ベジタリアン」のことであり、『栄養・生化学辞典 普及版』によると、「卵と魚さえも摂取しない完全菜食主義者」のことを指しています。※1

しかし、一部の地域では「クラゲ」と「卵」を食べても良いという「ゆるいヴィーガン」が存在していたり、週一で活動する「ゆるいヴィーガン」も存在しています。

つまり、同一の「ヴィーガン」であっても、「完全菜食主義者」と「菜食主義者の一種」の両方の意味が混在していることに気をつけなければなりません。更にいえば、「食事」だけ制限する「ヴィーガン」(訳:完全菜食主義者)と、「食事」以外も制限する「ヴィーガン」(訳:脱搾取主義者)が混在していることにも注意しなければなりません。

そもそも「ヴィーガン」は「ヴィーガニズム」から来た言葉でありそうですが、英国ビーガン協会によれば、「Veganisimとは、可能な限り食べ物・衣服・その他の目的のために、あらゆる形態の動物への残虐行為、動物の搾取を取り入れないようにする生き方」と定義されている為、今日の文脈では、「ヴィーガン=ヴィーガニズムを実践する人」が誤りになるケースが多いことにも、注意せねばなりません。

今回の私の記事は、正確にいえば、「ヴィーガン」(訳:完全菜食主義)の方向けの記事になっていますので、よろしくお願いします。

注意① 必須アミノ酸の不足(注意度:中)

必須アミノ酸は、肉などの動物性食品を食べればすぐに補えますが、野菜ではそうはいかないのでしょうか。それについて実際の数値を用いて考えたいと思います。

アミノ酸がどのように含まれているか、を調べる指標として「アミノ酸スコア」があげられます。「アミノ酸スコア」は、「必須アミノ酸のバランス」を表しており、一つでも欠けたら意味が失われてしまう必須タンパク質の性質に沿った指標になっています(詳しくは補足を参照)。肉も大豆も同様にアミノ酸スコアは100なのでともに良質なタンパクですが、実際の含有量が分からなければ、必要なタンパク質が摂取できているとはいえないので、いくつかの食材のタンパク質の含有量を載せておきます。

100gあたりのタンパク質含有量(植物性)※2

  • 若鳥、もも、皮つき、焼き・・・25g
  • 牛肉、サーロイン、脂身付き・・・17g
  • 豚肉、ばら、脂身付き・・・14g

100gあたりのタンパク質含有量(動物性)※2

  • 大豆、乾燥・・・34g
  • 大豆、ゆで・・・16g
  • 納豆・・・17g
  • 小豆、ゆで・・・9g
  • えんどう豆、ゆで・・・9.2g
  • そら豆、乾燥・・・26g
  • そら豆、ゆで・・・11g
  • アスパラガス、ゆで・・・2.6g
  • ブロッコリー、ゆで・・・3.5g
  • 枝豆、ゆで・・・12g
  • 芽キャベツ・・・6g
  • とうもろこし、生・・・3.6g(アミノ酸スコア:70)
  • そば、ゆで・・・4.8g(小麦粉の量に依る)(アミノ酸スコア:90)
  • アボカド・・・2.5g(アミノ酸バランス◎)
  • バナナ・・・1.1g(アミノ酸スコア:60)
  • 米・・・6.8g(アミノ酸スコア:60)

タンパク質の一日に必要な摂取量は、成人男性であれば60~65g、成人女性であれば55~60gなので、「ご飯200g、納豆50g」(※米はリジンが不足している為、アミノ酸スコアは高くないが、納豆はリジンが豊富なので組み合わせるとアミノ酸スコアは高くなる)を3食食べるだけで、大体摂取量には届くということになります。つまり、「必須アミノ酸」という観点でいえば、「完全菜食」は問題ないといえるかもしれません。

注意② アラキドン酸の不足(注意度:極めて低)

アラキドン酸は、野菜にはほとんど含まれていません。文部科学省の食品成分データベース※2で調べたところ、野菜では、「にんじん」「ほうれん草」「かいわれ大根」、きのこ類では「しいたけ」、豆類では「豆腐」、穀類では「もろこし」などに最も多く含まれていますが、いずれも100gあたり2mg程度です。一方、一般に食べられる豚肉や鶏肉では、100gあたり100mgを超える部位が数多く存在します(300㎎を超えるものも存在する)。

アラキドン酸は、野菜や豆では殆ど摂取できないことが分かります。

そして、ここで重要なのは、アルツハイマーの患者さんや高齢者には「アラキドン酸」の量が少ない傾向にあり、「アラキドン酸」を摂取することが「認知症予防」につながるともいわれていることです。つまり、「アラキドン酸」を摂取しないことが、これらの症状を招くかもしれないということです。

しかし、そこまで心配しなくても良いかもしれません。

アラキドン酸は野菜に殆ど含まれませんが、「リノール酸→γ-リノレン酸→アラキドン酸」というように体内で合成することができる為、リノール酸やγ-リノレン酸を摂取することで補うことができます。

γ-リノレン酸は野菜には殆ど含まれていませんが、リノール酸は肉だけでなく、大豆、枝豆、アボカド、ぶなしめじ、ニンジンなどの多くの食品に含まれている為、「リノール酸→γ-リノレン酸→アラキドン酸」の合成の速度は定かではありませんが、それが適切な速度ならば、「アラキドン酸」を補うことができるといえます。

結論

「完全菜食」はあまり問題はないといえるかもしれません。しかし、「完全菜食」の場合、必要なタンパク質を摂取する為には、毎日、肉にも劣らない量の大豆を摂ることが求められます。その為、大豆が好きなら問題はありませんが、単に健康の為に「完全菜食」をしているなら、大豆食品を多く摂ることに抵抗があったり、ストレスを感じる場合、逆効果になりかねないことに注意しなくてはなりません。また、肉はかなり上質なタンパク質ですから、例え「一般的な食事」よりも「ヴィーガン食」の方が健康的であったとしても、「ヴィーガン食」よりも「ヴィーガン食」+「動物性食品」の方が、低コストで済む上により栄養価が高くなる場合が多いということにも注意しておかなければなりません。

補足

「完全菜食でも大丈夫」という文脈の中で、「野菜のアミノ酸スコアが高いこと」があげられる場合がありますが、それには注意が必要です。「アミノ酸スコア」は、「タンパク質を構成する窒素1g あたりに占める各必須アミノ酸のmg 数で表され、FAOやWHO等による合同委員会が基準としたアミノ酸評点パターンに対する割合」で算出されます※3。つまり、アミノ酸バランスの良さを表しているだけであって、実際の含有量は考慮されていないということです。例えば、ニンジン、キャベツ、ほうれん草のアミノ酸スコア55、53、50に対して、キュウリのアミノ酸スコアは66になっています。その為、アミノ酸スコアをアミノ酸摂取の文脈で用いるときは、アミノ酸の含有量と併せて用いる必要があることに注意しなければなりません。

引用

※1 Wikipedia「ヴィーガニズム」

※2 食品成分データべース – 文部科学省

※3 Wikipedia「アミノ酸スコア」