0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Atomで正規表現を使って検索、置換してみる。

Last updated at Posted at 2020-12-29

今回やること

Atom(テキストエディタ)内のPythonを置換したい。
具体的には、request.form['status']request.form.get('status') に一発で変換したい!
Atomの置換機能に正規表現を書けるので、それで実現する。

ezgif.com-gif-maker.gif

やり方

command + shift + F で検索置換バーを出す。
こんな感じ↓↓のが出てくるはず。

スクリーンショット 2020-12-29 12.17.44.png

今回は、
上部の入力バーに正規表現を使って検索対象を指定して、
検索結果を下部のバーに入力した値に置き換えるという流れです。

検索バーの右上の.*をクリックしてアクティブにさせることをお忘れなく!
これは正規表現を使いますという合図です!

今回は以下のように記述します。

request.form\[(.*?)\]
request.form.get($1)

スクリーンショット 2020-12-29 12.16.04.png

解説

request.form\[(.*?)\]\[\]についてですが、
普通の[]だと正規表現として認識されてしまうので、バックスラッシュを前に置くことで回避しています。

今回の肝である(.*?)は、キャプチャと呼ばれるものです。
()内に指定した文字列とマッチするものを補足することができます。
ここでは、.*とすることで、ワイルドカードにしています。つまり、どんな文字列でも補足するということです。
ここで問題が発生します。

request.form\[(.*)\]

のままだと、

request.form['name'], request.form['description'], request.form['address']

この行全てを補足対象にしてしまいます。
request.form['name']のみを補足してくれないのです。

ezgif.com-gif-maker (1).gif

そこで、?をつけてみると、最短でマッチするものを補足してくれます。
この辺りは、最短マッチ最長マッチで検索してみるといいと思います。

あとは、replaceボタンを押せば、置換してくれます。
現場からは以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?