あまんの備忘録

正規表現、知ってると便利・・・!

投稿日
更新日

正規表現というものがあるらしく、先日初めて使ったのだけど、
いろんな場面で使っていけそうなので、先日使ったものを書きつつ、
今後、また使う事があったら都度更新していきたいと思います。



まず1つ目!

・「^」と「*」と「[]」を使った検索の仕方で、やりたかったことは、
 下記コードの「name=””」の「””」の中の値を一気に変更したいっていうことでした。



そもそも正規表現の検索の仕方ですが、VSCodeの場合を紹介すると、
「Ctrl+F」で検索窓を表示して、検索窓にある、「.*」の所をクリックします。



ということで、早速、検索していきたいと思います。

「name=”」とその次の「”」の間の値が違うものを検索したかったので、
最初は、「name=”(.*)”」と入れて検索しました。
⇒「.*」で検索すると、それの前後の部分(今回で言うと””の間)がなんでも検索できる

すると、、、その行のもっと後ろの方にも「”」があったので、検索できたのは下記の部分…
「name=”twitter_account” id=”twitter_account” maxlength=”30″ value=”‘ . $args[‘twitter_account’] . ‘”」
その行の最後の「”」までが検索に引っかかりました…

ただ、ちゃんと最初の「”」までの部分を検索できる正規表現もあるのです!


「name=”([^”]*)”」


何が変わったかというと、「.」というなんでもいい文字を表していた部分を「[^”]」に変えてます。
それによって、「[]」で囲んだ値を含む部分の最初の(「^」が最初を表す)「”」を検索してくれるようになりました。






そして2つ目!

1つ目とあんまり変わらないけど、
検索したい文字自体に、検索する時に使う文字(メタ文字)が入っている場合。

そんな時は、「\(バックスラッシュ)」をその記号の前に入れることで、文字として扱う事が出来ます。

例えば「args[‘twitter_account’]」の「”」の間の値が違うものを検索したい場合は、
下記のように検索します。


「args\[‘([^’]*)’\]」


さっきと同様に同じ行に「’」があったので、最初の「’」までの間を検索するために
「^’」としており、今回は、検索するためではなく、
配列のための「[]」部分があったので、それを文字とするために、
\(バックスラッシュ)を文字として扱いたい文字の前に入れています。




いったん以上ですー。
また新しいの使ったら追記していきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です