タグ

数字に関するaceraceaeのブックマーク (2)

  • 君たちは正規表現におけるインド数字の罠にハマったことはあるかい?(١٢٣٤٥٦٧٨٩) - Qiita

    import re re.match(r'\d{4}-\d{2}', '٢٠٢٢-٠٦') Pythonで書いてはいますが、内容を補足します。「'٢٠٢٢-٠٦'」という文字列が、数字4文字+ハイフン+数字2文字にマッチするかどうか、という正規表現を書いています。 一見するとどう見ても数字4桁ではないので、正規表現にマッチしないように見えますよね???? 実は正規表現にマッチします!!!というのが今回の記事の内容になります。 そもそも正規表現における数字の扱いとは 今回はPythonの正規表現のライブラリを利用しているので、公式のリファレンスを見てみましょう。 該当の部分には以下のような記述があります。 \d Unicode (str) パターンでは: 任意の Unicode 10 進数字 (Unicode 文字カテゴリ [Nd]) にマッチします。これは [0-9] とその他多数の数字を

    君たちは正規表現におけるインド数字の罠にハマったことはあるかい?(١٢٣٤٥٦٧٨٩) - Qiita
    aceraceae
    aceraceae 2022/06/24
    〇とかにもマッチするのになんで漢数字にはマッチさせないんだろうか。それはともかく世界の文字は見てるだけでも楽しい。
  • ある数が「○の倍数か」を見分けるための“万能”な方法

    ある数が割り切れるかどうか、つまりnの倍数であるかどうかを知りたい場面は結構たくさんある。分数を約分するときや、身近なところだと割り勘を計算するときなどだ。 場面の多さに比して、ふつう倍数の判定は難しい。例えば「64811は11の倍数か?」に瞬時に答えられる人はそう多くないはずだ。 ただし、いくつかの小さい整数に対しては、その倍数に関する法則が広く知られていて簡単に見分けられることがある。 例えば、2の倍数なら必ず一の位は2の倍数(偶数)になる。3の倍数であれば、各桁の数字を足し合わせると和が3の倍数になる(例:357→3+5+7=15は3の倍数)。特に3の倍数の判定法は簡単なので知っておくと便利だ。 ほかのいくつかの素数に対しても、簡単な判定法があるので以下の画像にまとめてみた。また、合成数の判定はこれらを組み合わせて行えばよい(例えば6の倍数は2と3どちらの倍数でもあることを判定するこ

    ある数が「○の倍数か」を見分けるための“万能”な方法
    aceraceae
    aceraceae 2018/05/04
    どっちにしても憶えられない。
  • 1