0

次の規則に従って、フォルダーにいくつかのファイルがあります。

1. Size-2.125-in-0.3083-in.pdf
2. Size-0.1-in-0.3083-in.something.pdf
3. Size-2.11-in-0.3083-in.someotherthing.pdf

ご覧のとおり、小数点以下の値は固定数ではありません。正規表現を使用してこのファイル名を削除するにはどうすればよいですか。また、.pdf (この場合は 1 番) のファイルのみが必要です。1 つのファイル名に似ていない他のすべてのファイルは無視する必要があります。

この正規表現を使用していましたが、小数点以下の桁数が変わると失敗します。

Size-......-in-......-in.pdf

私はC#を使用しています。

前もって感謝します

4

1 に答える 1

0

これ:^Size-([0-9]+\.[0-9]+)-in-([0-9]+\.[0-9]+)-in\.pdf$

十分なはずです。キャプチャ グループ 1 と 2 には、番号があります。それ以外はすべて修正済みなので、キャプチャしません。

テスター: http://regexr.com?35t0c

var rx = new Regex(@"^Size-([0-9]+\.[0-9]+)-in-([0-9]+\.[0-9]+)-in\.pdf$");
var match = rx.Match("Size-2.125-in-0.3083-in.pdf");

Console.WriteLine("Success: {0}", match.Success);

if (match.Success)
{
    Console.WriteLine("Full string: {0}, group 1: {1}, group 2: {2}", 
        match.Groups[0].ToString(), 
        match.Groups[1].ToString(), 
        match.Groups[2].ToString());
}
于 2013-08-09T06:33:35.487 に答える