我可以在. net断言中添加正则表达式吗?
本文关键字:正则表达式 添加 net 断言 我可以 | 更新日期: 2023-09-27 18:13:07
我试图从一组页面中取出页面源,并在结果上运行断言,这是一个测试,运行以检查我们是否在我们的网站上爬行特定的页面。有时返回的结果是URL字符串的不同情况,我想在我检查页面源的断言中考虑到这一点。这可能是错误的方式来做到这一点,但我想知道是否有一种方法来添加在。net regex命令的断言文本。我有一个断言:
Assert.IsTrue(driver.PageSource.Contains("/explore"));
但是是否有一种方法可以确保我可以捕获explore, explore或explore ?我想我可以在这里使用(? I),但这似乎不起作用。我更习惯Perl和它的正则表达式功能,但对于c#和。net,我有点迷失在我可以和不可以使用内联正则表达式命令。
安东尼的回答是有效的,你真的不需要正则表达式。但是如果你想用它,你可以用
Regex.IsMatch(driver.PageSource, "/explore", RegexOptions.IgnoreCase)
您不需要正则表达式来执行不区分大小写的检查。使用IndexOf
并比较结果是否大于-1。IndexOf
具有重载,允许您指定大小写是否重要。比如
bool containsExplore = driver.PageSource.IndexOf("/explore", StringComparison.InvariantCultureIgnoreCase) > -1;
Assert.IsTrue(containsExplore);
尝试:
RegEx.Match("string", "regexp", RegExOptions.IgnoreCase).Success
如何使用
StringAssert.Matches(string, regex);
在你的例子中,这将转换为
StringAssert.Matches("drive.PageSource", "'/explore");