我該怎麼做?我見過一個解決方案不使用一個正則表達式的ruby,因爲ruby不支持loookaround斷言。但是,它可能在C#中?正則表達式匹配rar檔案文件集中的第一個文件
[Test]
public void RarArchiveFirstFileNameShouldMatch() {
var regex = new Regex(@"\.(rar|001)$", RegexOptions.IgnoreCase | RegexOptions.Singleline);
Assert.That(regex.IsMatch("filename.001"));
Assert.That(regex.IsMatch("filename.rar"));
Assert.That(regex.IsMatch("filename.part1.rar"));
Assert.That(regex.IsMatch("filename.part01.rar"));
Assert.That(regex.IsMatch("filenamepart44.rar"));
Assert.That(regex.IsMatch("filename.004"), Is.False);
Assert.That(regex.IsMatch("filename.057"), Is.False);
Assert.That(regex.IsMatch("filename.r67"), Is.False);
Assert.That(regex.IsMatch("filename.s89"), Is.False);
Assert.That(regex.IsMatch("filename.part2.rar"), Is.False);
Assert.That(regex.IsMatch("filename.part04.rar"), Is.False);
Assert.That(regex.IsMatch("filename.part11.rar"), Is.False);
}
這正是我想要的,謝謝!我在不同的組合中嘗試了幾乎相同的東西,但是我無法使其工作,但是這種方式非常完美!我需要提高我的正則表達式技能! – MatteS 2010-02-06 18:59:31