タグ

ブックマーク / www-creators.com (2)

  • 正規表現:文字列を「含まない」否定の表現まとめ | WWWクリエイターズ

    「〜を含まない」といった、否定の意味を持つ正規表現を記述する場合、下記のように、大きく分けて2種類のケースがあります。 「特定の1文字を含まない」といった否定表現か、もしくは「正規表現パターンを含まない」といった表現かで、大きく解決の方針が異なる点に注意して下さい。 特定の1文字だけを否定したい場合は非常にシンプルです。この場合、「文字クラス」、もしくはエスケープシーケンスで表される文字型を利用する事で表現できます。 一方で、特定の正規表現パターンを否定したい場合、少し記述が複雑になります。今回は「否定先読み」を利用した表現を、この記事の後半にご紹介します。 基的な正規表現の記法はこの記事では触れませんので、不安な方はこちらの記事も合わせてご参照下さい: 正規表現とは?基構文とメタ文字一覧(サンプル付) それでは、順番に詳しく見ていきます。 任意の一文字を含まない文字列の正規表現 a「

  • 正規表現:否定先読み、肯定先読みについて | WWWクリエイターズ

    正規表現における「否定先読み(Negative lookahead)」とは、メインのマッチング処理とは独立したサブパターンのマッチングの吟味(テスト)の事です。「(?!」と「)」で、サブパターンを囲み、このような記述を用います。 ここでいう「吟味(テスト)」とは、通常の「(」「)」で囲むようなサブパターンのマッチングと異なり、もしそのサブパターンのマッチが見かっても、マッチした文字列は「消費(Consume)」されず、同時に格納(Capture)されません。 これはすなわち、下記を意味します。 その後に実行されるマッチング処理の位置に影響しない。 サブパターンにマッチした文字列を後方参照するできない。 「処理位置の前方を吟味して、元の位置に戻ってきて処理を再開する。」これが先読みという由縁です。このようなテストを「言明(Assertion)」と言います。このような言明の表現は、否定/肯定の

  • 1