正規表現

正規表現_マッチした範囲を抽出して取得

以前書いたより簡単な方法を見つけた。 結論から。 Grep する。その際、 結果出力 を [ 該当部分 ]結果出力形式 を [ 結果のみ ] とする。デフォルトは [ 該当行 ] [ ノーマル ] となっている。 Grep:複数のファイルから文字を検索することが出来る。 ex ) …

正規表現_包含文字のマッチ。直後の文字を除外

ある文字にはマッチさせたいが、その直後に特定の文字が存在する場合は、マッチさせたくない場合。( 否定の先読み ) ex)Japanにはマッチするが、Japaneseにはマッチしない。佐藤にはマッチするが、佐藤さんにはマッチしない。 A と AB 。AB にはマッチしない…

正規表現_包含文字のマッチ。直前の文字を除外

ある文字にはマッチさせたいが、その直前に特定の文字が存在する場合は、 マッチさせたくない場合。( 否定の戻り読み ) ex) 社長にはマッチするが、副社長にはマッチしない。 ペンにはマッチするが、赤ペンにはマッチしない。 A と BA 。BA にはマッチしない…

正規表現_(?<=hoge)

(?<=hoga)A 直前に hoga が存在する A にマッチする正規表現。 言い方を変えると、左側に hoga が存在するする A にマッチする正規表現。 右側は( A(?=hoga) )。hoga が右側に存在する A にマッチ。( 肯定の戻り読み ) ex) (?<=ate)Food左に ate がある Food…

正規表現_( ?! hoge )

※タイトルにおいて、半角スペースを入れているがこれは読みやすくする為にいれている。 I␣(?!am|was|wasn't) ※␣:半角スペース 上記にマッチするパターンは下記3つ以外。下記3つにはマッチしない。 I␣am I␣was I␣wasn't つまり、「 I␣ 」の直後に「 am 」「 …

正規表現とは

正規表現とは何?と聞かれたら説明できないことに気づいた。自分が得たい文字列や数値を指定する時の条件かな?と曖昧ことしか言えん。 文字の連続( 文字列 )を汎用的な形式で表現するための方法。 汎用:広く色々な方面に用いること。ある程度何にでも使え…

正規表現_部分正規表現 ( hoge ) を使用する意味

使わないと表現できない時があるから、だがもっと具体的に。 1. 「 ( 」と「 ) 」で囲まれたものに対して、* や + を付随させるため。 2. 優先順位を変更するため。 1.の説明 「うひゃー」 が連続した文字列を探したい時、 (うひゃー)* で探せる。これは…

正規表現_( hoge ) ←部分正規表現

(long␣)* や fuga (X | Y) などの「 ( 」「 ) 」について。 「 ( 」と「 ) 」で括ることにより、正規表現を単一の塊にする。 塊にしたものを部分正規表現という。 詳しく クラスタ化:clustering 「 ( 」「 ) 」などを利用して、正規表現を単一の塊にするこ…

正規表現_( ?=hoge )

※タイトルにおいて、半角スペースを入れているがこれは読みやすくする為にいれている。 I'm ␣(?=.*glad)sad 上記にマッチするパターンは、 1.「 I'm ␣ 」の後ろのどこかで「 glad 」が出現。 且つ 2.「 sad 」は「 I'm ␣ 」の直後に位置していなければなら…

正規表現_基本メモ

注※(?=ABC)は、文字でなく位置にマッチするメタキャラクタ※ メタキャラ説明 . なんでもいい 1 文字 * 直前の文字が 0~1 文字以上 + 直前の文字が 1 文字以上 ? 直前の文字が 0 または 1 文字 .*? 最短一致 hoge(?=ABC) hogeの右側にABCがある場合一致 (肯定…

正規表現_特定の範囲を選択または取得 & 最短マッチ

特定の範囲を「選択」 以下のデータにおいて、 ≪B≫「XXXX」 というデータを選択したい時 ≪A≫「りんご」≪B≫「猫」≪C≫「電車」 ≪A≫「みかん」≪B≫「dog」≪C≫「car」 ≪A≫「ぶどう」≪B≫「サル」≪C≫「自転車」 ≪B≫.*?」 《B》~」(一つ目の『」』)までという意味。…

正規表現_特定の文字列を含まない

【HOGE】が入っていない文字列の検索 ^(?!.*【HOGE】).*$ ^は先頭 $は末尾 .はなんでもいい1文字 *は直前の文字が0個以上連続 !は否定 ?はなんだ??? ?!で何になるんだ??? 体力切れたので以上。 koshinran.hateblo.jp