今回やること
Atom(テキストエディタ)内のPythonを置換したい。
具体的には、request.form['status']
を request.form.get('status')
に一発で変換したい!
Atomの置換機能に正規表現を書けるので、それで実現する。
やり方
command + shift + F
で検索置換バーを出す。
こんな感じ↓↓のが出てくるはず。
今回は、
上部の入力バーに正規表現を使って検索対象を指定して、
検索結果を下部のバーに入力した値に置き換えるという流れです。
検索バーの右上の.*
をクリックしてアクティブにさせることをお忘れなく!
これは正規表現を使いますという合図です!
今回は以下のように記述します。
request.form\[(.*?)\]
request.form.get($1)
解説
request.form\[(.*?)\]
の\[
と \]
についてですが、
普通の[]
だと正規表現として認識されてしまうので、バックスラッシュを前に置くことで回避しています。
今回の肝である(.*?)
は、キャプチャと呼ばれるものです。
()
内に指定した文字列とマッチするものを補足することができます。
ここでは、.*
とすることで、ワイルドカードにしています。つまり、どんな文字列でも補足するということです。
ここで問題が発生します。
request.form\[(.*)\]
のままだと、
request.form['name'], request.form['description'], request.form['address']
この行全てを補足対象にしてしまいます。
request.form['name']
のみを補足してくれないのです。
そこで、?
をつけてみると、最短でマッチするものを補足してくれます。
この辺りは、最短マッチ
、最長マッチ
で検索してみるといいと思います。
あとは、replaceボタンを押せば、置換してくれます。
現場からは以上です。