4

私は自分のプロジェクトの一貫性を探しています。しかし、私がタイプしているとき、それをいつも覚えているわけではありません。これにより、プロジェクトの半分にコメントしたときに問題が発生し、すべての行を。で終了したかどうかがわかりません。

だから、私はこれを改善するためにドットで終わらないすべての要約を見つけたいと思います。この例は次のとおりです。

    /// <summary>
    /// This is my summary
    /// </summary>

これは、開始時の空白が常に3つ/あり、それらがすべて<summary>タグで囲まれていることを意味します。

私はそれに取り組み始め、これを手に入れました:

^///$[^\.]

に基づく

^ start of line
/// the three slashes
$ end of line
[^\.] that doesn't end with a dot.

しかし、私はそれを機能させることができません。で終わらないすべての要約行を見つけるにはどうすればよいですか?

4

2 に答える 2

7

コメント行の開始をマークするのは「///」であるため、文字列の先頭に固定する必要はありません。

///.*[^\.]$

これをどのように構築するか。

探しているコメントは「///」で始まり「。」ではないことがわかっています。これらの2つの文字列は、「///」と「[^。]」の間に一致させることができます。それで '。*'

コメントは文字列/行の先頭から開始する必要がないため、先頭に「^」を付ける必要はありません。

また、末尾の空白を考慮に入れることもできます。

///.*[^\.]\s*$

私は他のいくつかのポイントを逃したかもしれないので、ただ叫ぶ

どういう$意味ですか

正規表現の「$」記号は、文字列の終わりのアンカーです。(おそらく実装によっては)入力の終わりと単純に一致することを除いて、新しい行と一致します。入力の開始に一致する「^」と同じように機能します

于 2012-06-12T08:14:15.187 に答える
2

行の実際の先頭(列0)と。の間の空白を考慮する必要がある場合があります///。多分これはうまくいくでしょう^\s*///.*[^.]$

  • ^-行の先頭(最初に表示される文字ではなく、列0)
  • \s*-オプションの空白
  • ///-コメントの始まり
  • .*-任意のテキスト
  • [^.]-以外は.
  • $-行末(最後の文字の後)

編集VisualStudio
の検索正規表現は通常の正規表現とは明らかに異なります:http://msdn.microsoft.com/en-us/library/2k3te2cs.aspx

空白を一致させるには、の:Zs代わりに必要なようです(または、提案されているように、それを完全にスキップして、を使用してください)。\s///.*[^.]$

于 2012-06-12T08:14:23.220 に答える