skillup

技術ブログ

プログラミング全般

正規表現に関して

投稿日:2016年10月28日 更新日:

SQLネタをいろいろと書いておりますが、ちょっとワンポイント的なネタで正規表現について書きたいと思います。

平均的なものは知っているつもりでしたが、シェルの正規表現について知らなかったのでちょっとメモリます。

通常の正規表現とシェルの正規表現の違いに関して

シェル 通常の正規表現 意味
? . 任意の一文字
* .* 0文字以上の任意の一文字
[abc] [abc] abcのいずれか

grep中の正規表現に関して

例えばシェルのコマンドで

と入力すると、hoge.txtだけではなく、hogeetxtというファイルまで引っかかってしまいます。

これは.(ドット)が任意の1文字を表すからです。

もし完全にhoge.txtだけを取り出したい場合には

のようにエスケープ文字を入れる必要があります。

また

と検索すると当然hoge2 hogehogeも引っかかってしまいますのでこの場合もhogeにピッタリマッチするものを取得する場合は

と入力します。

その他

と入力すればhoge.txtとhuge.txtが合致します。

他にもhoge.txtとfoo.txtを取得したい場合は下記のように書きます。

または

でもよいです。

シェルのgrep検索には-Eオプションをつけることど拡張正規表現を使うことができます。

通常でも正規表現を使えるので、大きい違いはありませんが、

  • 通常型は(){}を使用する場合に\を入れなくてはいけない。拡張型は入れなくてよい
  • 拡張型は+?|などを使うことができる

など微妙な差異があります。

使えるツール

対象となる正規表現をハイライトしてくれます。

スクレイピングとかやってるときに知りたかった・・

http://rubular.com/

-プログラミング全般
-,

執筆者:


comment

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

関連記事

no image

Simple Factoryパターンについて

今回はデザインパターンの一種であるSimple Factoryパターンに関して。 Contents1 Simple Factoryパターンとは2 サンプルコード3 解説 Simple Factoryパ …

no image

新しいプロジェクトに入った時にやること

新しいプロジェクトに入った時に最初にすべきことややっておくことなど Contents1 仕様理解編1.1 ユーザーの行動遷移の理解1.2 キー系のデータの理解1.3 データグルーピング1.4 サンプル …

no image

ログの設計指針について

今まで10以上近い現場で仕事をしてきましたが、どの現場でも絶対必要になる(かつどこもあまり対策が取られていない)技術としては 検証したい状態の復元がすぐにできる(テストデータ作成) ログの適切な設計 …

no image

abstract,interface,traitなどについて

昔はようわからなかったabstract(継承全般)、interface、traitの使い分けなどについて。 今の現場でいろいろと考えることがあり、自分なりにいろんな方の知見を共有できたので、メモしてお …

no image

シェルスクリプト ファイル読み込み・switchなど

以前のエントリーに引き続き、シェルスクリプトでログを解析する処理があってそこで覚えたことなどをまとめておきます。 Contents1 ファイル読み込み2 switch文2.1 基本パターン2.2 条件 …

アーカイブ