シェルスクリプトの正規表現について解説
正規表現の概念と特徴
正規表現とは、文字列操作のための論理式で、あらかじめ定義された数の特定文字とその特定文字の組み合わせからなる「正規の文字列」である。
この「正規文字列」は、文字列に対するフィルタリングロジックを表現するために使用されます。この「正規文字列」は、文字列のフィルタリングロジックを表現するために使用される。文字クラス、修飾子の数、位置関係などの特殊な構文を指定し、その特殊な構文と一般的な
これをRegular Expressionといいます。
{これは正規表現と呼ばれるものです。
正規表現と別の文字列が与えられると、次のように実現できます。
1. 与えられた文字列が、正規表現のフィルタリングロジックにマッチするかどうか(「マッチング」と呼ぶ)。
/{br
2. 正規表現を使って、欲しい文字列の特定の部分を取得することができる。
正規表現の特徴
1. 非常に柔軟で、論理的、機能的である。
2.文字列の複雑な制御を素早く、非常にシンプルな方法で実現することができる。
3.初めての人には、かなりわかりにくい。
正規表現は主にテキストに適用されるため、テキストエディタの場面では、小さなものから有名エディタEditPlusまで
Microsoft WordやVisual Studioなどの大規模なエディタでは、いずれも正規表現を使ってテキストコンテンツを処理することが可能です。
I. 正規表現
1. 定義
(1)は、通常判定文で使用され、ある文字列がある形式を満たしているかどうかを確認するためのものです
(2)、正規表現は通常の文字とメタ文字で構成される
(3) 通常の文字には、大文字、小文字、数字、句読点、その他いくつかの記号が含まれます。
(4) メタキャラクタは正規表現において特別な意味を持つ文字で、その先頭文字(メタキャラクタの前に位置する文字)の対象オブジェクトへの出現パターンを指定するために使用することができる。
2、基本的な正規表現共通メタキャラクタ(対応ツール:grep、egrep、sed、awk)
\特殊な記号の意味を取り消すために使われるエスケープ文字です。とか、$など。 {といった具合です。
^: 文字列の先頭の位置にマッチする、例:a,, the, #, [a-z].
$:文字列の終端位置にマッチ、例:word$、^$̲空行にマッチ
...: \n 以外の任意の文字にマッチ 例:g.d, g..d {となります。
*直前の部分式に0回以上マッチします。
[リスト]:リスト内の文字にマッチ 例: go[ola]d, [abc], [a-z], [a-z0-9], [0-9] 任意の数字にマッチします。
[リスト]: リスト以外の任意の文字にマッチします、例.[^0-9], [^A-Z0-9], [^a-z] は、小文字でない任意の文字にマッチします。
\{n}: 直前の部分式にn回マッチ、例: go{2}d, '[0-9]{2}' 2桁の数字にマッチ
\Ъ{n,}:直前の部分式にn回以上マッチ、例:go{2,}d, '[0-9]{2,}' は2桁以上マッチ
\{n,m}: 例えば go{2,3}d, '[0-9]{2,3}' は2桁から3桁の数字にマッチします。
注:egrep, awk では、"{}" の前に "\" をつけないマッチング {n}, {n,}, {n,m} が使用されます。
3、拡張正規表現のメタキャラクタ。(対応ツール:egrep、awk)
+:前の部分式に1回以上マッチします。例: gd+d, god, good, gooodなどのように、少なくとも1つの0にマッチします。
例:go? d, gdまたはgodにマッチします。
():括弧内の文字列全体 例: g(oo) + d, oo全体と1回以上一致する場合, 例えば good, gooood, など。
l:orの方法で文字列にマッチする、例: g(oo | la)d,speak to match good or glad
次に、正規表現の例
リクエスト
ユーザー名@:文字数は6ビット以上、先頭はアルファベットまたは_のみ、途中の記号は使用可能です。- # _
サブドメイン名:大文字、小文字、数字、_ - が使用可能です。
. トップレベルドメイン名:文字列の長さは一般に2〜5
シェルスクリプトの正規表現に関する記事です。シェルスクリプトにおける正規表現については、過去の記事を検索するか、引き続き以下の記事を閲覧してください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン