蛇ノ目の記

技術のことも。そうでないことも。

みんなのPython勉強会#44を企画・登壇した - 正規表現の話

4/10に開催されたみんなのPython勉強会#44(stapy)を企画・登壇した。

平成が終わる前に書かないと、と思いつつここまで先延ばしにしてしまった。でもまだ平成なのでギリギリセーフということでどうかひとつ。

startpython.connpass.com

平成最後のstapyということで平成生まれである自分が主導し、自分を含めた6人の平成生まれPythonistaによるショートトーク会を企画した。

登壇してくれた皆さんありがとうございました。

今回の内容はPythonにおける正規表現\w (any word character) の振る舞い。

GitPitch Presents: github/NaoY-2501/GitPitch-Slides

Modern Slide Decks for Developers on Linux, OSX, and Windows 10. Preview and present offline. Publish and share online.

以下のリポジトリ\wUnicodeのLetter, Numberカテゴリのうちどれだけの文字にマッチするか、Punctuationカテゴリではアンダースコア以外にマッチしないかを確認した。

GitHub - NaoY-2501/stapy44_re_unicode_checker

Letterカテゴリの中でもマッチしない文字がある。

https://www.fileformat.info/info/unicode/category/ ではLetterカテゴリに分類されているが、unicodedataモジュールで確認するとCn(Other or not assigned)となっている。

>>> import unicodedata
>>> unicodedata.category('\ua7ba')
'Cn'

つまり、公式ドキュメントにある通りであることがわかる。

ユニコードパターンに対しては、 \w は unicodedata モジュールで提供されている Unicode データベースで letters としてマークされている全ての文字とマッチします。

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

Special Thanks

Thank you for speakers !!

nikkie(@ftnext): P(ython)&I 〜最初の落とし穴を避け、成功体験を積むために〜

山下 卓将(@xxx_boy): Python と挑んだtitanic ~101回目のsubmit~

大島和輝(@shimakaze_soft): FlaskとDjango以外のAPI開発の選択肢

みずき(@mizzsugar0425): DjangoとPyramidで同じアプリ作った話

清原 弘貴(@hirokiky): 無題 (僕の平成について話します)