【发布时间】:2010-02-06 13:36:32
【问题描述】:
我该怎么做?我已经看到一个解决方案不使用单个正则表达式来处理 ruby,因为 ruby 不支持环视断言。但是在c#中可以吗?
[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);
}
【问题讨论】: