タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

regexに関するsuzukit86のブックマーク (3)

  • 正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記

    自分のためにメモ。 (肯定|否定)(先読み|戻り読み)、覚えづらい。 正規表現 パターン(boost::regex) 説明 肯定先読み (?=regex) regex に一致する文字列が始まる位置にある検索文字列と一致する。一致した文字列は記憶されず、後で使用することはできない。 たとえば "Windows (?=95|98|NT|2000)" は、"Windows 2000" の "Windows" には一致するが、"Windows 3.1" の "Windows" には一致しない。 先読み処理では、読み進まれた文字は処理済みとは見なされない。一致の検出後、次の検索処理は先読みされた文字列の後からではなく、一致文字列のすぐ後から開始される。 否定先読み (?!regex) regex に一致しない文字列が始まる位置にある検索文字列と一致する。一致した文字列は記憶されず、後で使用することは

    正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記
  • 正規表現で否定マッチ - R42日記

    これまで、正規表現で否定マッチはできないものと思いこんでいました。 が、しかし。 実はできました。否定先読みを使えばよいのです。 否定先読みとは、『マッチに成功したらマッチ失敗とせよ』という正規表現です。 はい、意味がわかりませんね。それが普通の感覚です。 さて、早速実例を。 次の正規表現は『??geにマッチするけどhogeは除外する』という意味になります。 (?!hoge)..geこの正規表現が何を表しているかというと、 文字列を先頭から見て、 "hoge" が続くのならばマッチ失敗とせよ。 重要!! → 先読みだからマッチ位置は移動しない。次のマッチも先頭から開始される。 さもなければ、文字列を先頭から見て "..ge" にマッチするか検証せよ。 という意味です。 うーむ、いささかトリッキーではあるものの、これは実践でも使えそうですね。 ちなみに、否定戻り読みを使うやり方もあります .

    正規表現で否定マッチ - R42日記
  • 図解でみる正規表現入門  part28 - 先読み 肯定 (?= )

    前のページ    次のページ 今回は 先読み の 肯定 である (?= ) をご紹介します! これも動作しない環境が多いのですが、 先読みはとても強力 な表現 です! 先読みを覚えれば正規表現の幅がとても広がりますよ★ ではまず、 先読みがどういうものかをご説明しましょう♪ 以下の表現をご覧下さい A(?=B) これは、 もし 「A」 の後ろの文字が 「B」 だったら 「A」 1文字にマッチする という意味の正規表現です では、 実際に動かした図をご覧下さい♪ ▽ 「 A(?=B) 」 で検索した図 「AB」 の 「A」 にマッチしていますね! そして、 「AB」 の 「B」 にはマッチしていません この正規表現にマッチするのは 「A」 の1文字のみで、 「B」 はマッチの条件として呼ばれているだけなのです また、 (?= ) は ^ や $ と同じように、位置 にマッチする表現です 以下

  • 1