请帮助,我是Go的新手。我写函数传递一个字符串正则表达式并返回boolan。在验证出生日期的正确格式时,我的测试仍然失败。
我的测试:
func TestIsMatchingRegex(t *testing.T) {
t.Parallel()
var tests = []struct {
dob string
reg string
expected bool
desc string
}{
{dob: "1928-06-05", reg: `[12][0-9]{3}-[01][0-9]-[0-3][0-9]`, expected: true, desc: "test1"},
{dob: "1928/06/05", reg: `[12][0-9]{3}-[01][0-9]-[0-3][0-9]`, expected: false, desc: "test2"},
}
for _, test := range tests {
actual := IsMatchingRegex(test.dob, test.reg)
assert.Equal(t, actual, test.expected, test.desc)
}
}
匹配函数boolean
func IsMatchingRegex(s string, regex string) bool {
validFormat := regexp.MustCompile(regex)
matched := validFormat.MatchString(s)
if validFormat {
return false
}
return true
}
答案 0 :(得分:1)
您的测试没有失败,无法编译,因为std::vector <cv::Mat> repeat(cv::Mat img, uint32_t nx, uint32_t ny, uint32_t z)
{
return std::vector<cv::Mat>(z, cv::repeat(img, nx, ny));
}
是validFormat
而不是Regexp
。
你的bool是bool
,但你可以简单地返回matched
的结果(或者根本不使用单独的函数,因为它只是一行)
MatchString