正規表現の最短一致

次のような文字列がった場合、正規表現で「C.*\\」と指定すると何がマッチするのでしょうか?

C:\Users\sinpay\test のディレクト

「.」は任意の一文字で、「*」0回以上の繰り返しです。そうすると、次のような候補が考えられます。

No.1C:\
No.2C:\Users\
No.3C:\Users\sinpay\
実際にマッチするのはNo.3のみです。これは正規表現が「.*」など繰り返しのメタキャラクタを指定した場合、最も長いパターンにマッチするからです。(最長一致) では、No.1、最も短いパターンにマッチさせる場合(最短一致)はどうするかというと「C.*?\\」と指定します。「.*」の後ろに「?」をつけることにより、最短のパターンに一致させることが出来ます。また、「C.{2,7}\\」と指定すると、「.」が2文字以上、7文字以下のパターンにマッチできます。そのため、No.3「C:\Users\」をマッチさせることが出来ます。