@Test
void hasCurrentProgress()
{
YTVideo yt = new YTVideo();
yt.setUrl("https://www.youtube.com/watch?v=U6Z8FkjGEb4&t=2s");
assertTrue(yt.getUrl().matches("(t=)"));
}
我试图检测 url 中的任何位置是否有“t=”,但测试用例返回 false,即使给定的 url 确实包含“t=”并且适用于 IntelliJ 上的“Check RegExp”功能。有人解决这个问题但仍在使用 RegEx 吗?
您需要在
t=
之前和之后多次接受任何字符,以下应该有效:
@Test
void hasCurrentProgress()
{
YTVideo yt = new YTVideo();
yt.setUrl("https://www.youtube.com/watch?v=U6Z8FkjGEb4&t=2s");
assertTrue(yt.getUrl().matches(".*(t=).*"));
}