👻

VScodeの正規表現での検索方法

2023/05/16に公開

はじめに

プログラミングやブログ記事などを書いているときに、数字や空白文字が全角半角であるかを検索をしたい場面はとても多いです。例えば、プログラミングであれば、全角文字の空白が原因でエラーになることは日常茶飯事です。その他にもブログで全角と半角の文字が混在しているのは見栄えが悪いですよね。

数字だけでも「0〜9」の文字が全角と半角合わせて20文字ありますので、一文字ずつ検索すると20回も検索しなければならなくなります。できることなら一回の検索で全角半角なのかを調べたいところです。

こんなときに効果を発揮するのが「正規表現」です。正規表現は端的に言えば、いくつかの文字列を一つの形式で表現するための表現方法です。この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索することができます。

目的

VScodeを使って正規表現での検索をできるようにする。

内容

今回は使用頻度の高いものに絞って、下記の内容をご紹介していきます。

  1. VScodeを使って正規表現で検索する
  2. 数字のみ検索する
  3. アルファベットのみを検索する
  4. 波文字に関連する文字だけを検索する
  5. 括弧()に関連する文字だけを検索する
  6. 空白(ブランク)に関連する文字だけを検索する
  7. 複数の条件を指定して全件検索をする

さっそく、はじめてみましょう。

VScodeを使って正規表現で検索する

正規表現を使って検索をするには、「エディター」というものを使用します。プログラマーやブログを書いてる方なら、何かしらのエディターを使ったことがあるかと思います。今回はVScodeを使用しますが、正規表現が使用できるエディターであれば、それほど使い方は変わりません。お好みのエディターを使用してください。

①文字列が書かれたファイルを用意する。

まずは、文字が書かれたファイルが必要ですので、下記のようなファイルを用意してください。
この先の解説でも使用しますので「〒105-0011」の部分を書き換えて使ってください。

②検索窓を開く

先ほどのファイルの上で、CTRL(cmf)+Fを使って検索窓を開いてください。

③正規表現で検索する

検索窓の正規表現ボタン「.*」を押して、下記の文字列をコピーして貼り付けてください。

〒[0-9]{3}-[0-9]{4}

このように郵便番号だけを指定して検索することができました。

今の段階で詳しい事は説明しませんが、「〒○○○○-○○○」になっていれば、どんな数字が入っていても検索されます。このように非常に強力な検索を実現できるのが、正規表現と呼ばれる表現方法です。

VScodeを使ったこの一連の操作は、今後も使用しますので覚えておいてください。

数字のみ検索する

それでは数字のみを正規表現で検索してみましょう。

下記を検索窓に貼り付けてください。

[0-9] # 半角数字の場合

または

[0-9] # 全角数字の場合

アルファベットのみを検索する

次にアルファベットのみを正規表現で検索してみましょう。

下記を検索窓に貼り付けてください。

[A-Z]+ # 半角英字の場合

または

[A-Z]+ # 全角英字の場合

波文字に関連する文字だけを検索する

波文字に関連するものには、「から」「~(全角の波)」「~(全角チルダ)」などがあります。特に「~(全角の波)」と「~(全角チルダ)」は、人間の目では判別することが困難です。このような場合でも、正規表現の検索であれば、正しく判定することができます。

下記を検索窓に貼り付けてください。

[~] # 半角のチルダ
[〜] # 全角の波
[~] # 全角のチルダ
[〰] # 全角の波ダッシュ
[から]{2} #平仮名の「から」

括弧()に関連する文字だけを検索する

次に括弧()に関連する文字だけを正規表現で検索してみましょう。

下記を検索窓に貼り付けてください。

[\(\)] # 半角括弧
[()] # 全角括弧
[()]|[\(\)] # 全角括弧と半角括弧を複数指定

空白(ブランク)に関連する文字だけを検索する

次に空白(ブランク)に関連する文字だけを正規表現で検索してみましょう。

下記を検索窓に貼り付けてください。

\s # 全てのスペース
\t # 全てのタブ(但し、検索の場合では使わないので、\s でタブは捕捉しましょう)
[\s+]{2} # 連続スペース
^\s+ # 文頭の半角スペース
\s+$ # 文末の半角スペース
.\s+[^\s] # 文中の半角スペース

複数の条件を指定して全件検索をする

ここまで様々なケースに合わせて、正規表現による検索をご紹介してきました。しかし、これをケース毎に繰り返し検索するのは手間が掛かって面倒です。できることなら、まとめて一気に検索を掛けて検出したいものです。そこで威力を発揮するのが、すでに何度かご紹介している「複数条件の指定」です。下記のように、今までご紹介した内容を一気に検出することが可能になります。

下記を検索窓に貼り付けてください。
全件検索(半角) : 数字、アルファベット、波文字関連、括弧、空白

[0-9]|[A-Z]+|[~]|[から]{2}|[\(\)]|\s|\t|

全件検索(全角) : 数字、アルファベット、波文字関連、括弧、空白

[0-9]|[A-Z]+|[〜]|[~]|[〰]|[から]{2}|[()]|\s|\t|

まとめ

如何だったでしょうか。見慣れないものなので面食らった部分もあるかと思います。しかし、使いこなせれば非常に便利なのが正規表現による検索です。まずは、使用頻度の高いものから慣れていただいて、興味を持ったらご自身で調べていただければと思っております。下記の正規表現の関連記事がわかりやすいので、参考までに掲載しておきます。それでは快適な検索ライフをお祈りしております。
https://www-creators.com/archives/category/regexp

GitHubで編集を提案

Discussion