• ベストアンサー

正規表現を教えてください。

正規表現を教えてください。 C#で正規表現を用いた文字列検索を勉強中なのですが、うまくマッチさせることができません。教えていただけないでしょうか。 検索対象の文字列は下のようになります。 キーワード;値; 文字列中に該当するキーワードが存在する場合に、その値を取得するプログラムを考えています。しかし、私の正規表現では2つ目の「;」を検出してしまい、キーワードのみを取得することが出来ずに困っています。 見当違いの表記をしているとは思うのですがどなたかお助けください。 match = Regex.Match(line, "^(.*);"); C#初心者なものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • aspnet
  • ベストアンサー率79% (72/91)
回答No.1

文字列マッチングのデフォルトは最長一致なので、その結果は合ってます。 ご希望は最短一致のようなので、 match = Regex.Match(line, "^(.*?);"); で、match.Groups[1].Valueかなあ?

参考URL:
http://php-web.net/regular/matching.html
abcron
質問者

お礼

かなり悩んでいたので助かりました。 魔法のキーワード「?」をもっと調べてみます。 ありがとうございました。

関連するQ&A