みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

正規表現

正規表現で Non-capturing group を書き間違えた

正規表現の Non-capturing group は (?:) と表記しますが*1,これを間違えて (:?) と書いてしまったため,コロンが0文字か1文字という意味になり,意図した動作にならないという経験をしました. ? は直前の文字が0文字か1文字存在することを示すので,( の…

正規表現のメタ文字の覚え方

\d Matches a digit character. \D Matches a non-digit character. \s Matches any white space including spaces, tabs, form-feed characters, and so on. \S Matches any non-white space character. \w Matches any word character including underscor…

先頭/末尾ではない文字列を表す正規表現

正規表現には肯定先読み (?=...) と肯定後読み (?<=...) と呼ばれる機能があり,先頭/末尾ではない文字列を検索するのに有用なので紹介します. 肯定先読みや肯定後読みを文章で説明するよりも,Pythonのunittestとしてソースコードで表現する方が分かりやす…

ネストされた括弧と正規表現

ネストされた括弧を扱おうと正規表現を調べましたが,Pythonの標準のreには,(?R)など再帰が扱えないことが分かり,代わりにregexを使えばよさそう*1ということは分かりましたが,わざわざ正規表現を使わなくてもよいのではと思い,シンプルに書いてみました…