本文整理汇总了C++中Pattern::match方法的典型用法代码示例。如果您正苦于以下问题:C++ Pattern::match方法的具体用法?C++ Pattern::match怎么用?C++ Pattern::match使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pattern
的用法示例。
在下文中一共展示了Pattern::match方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Test__Parser__SimpleOptions
void Test__Parser__SimpleOptions() {
/**************************************************************************+
* OPTION
* / \
* / \
* / \
* / Without default
* / \
* / \
* Has default \
* / \ -o some_val
* / \ -o "some spaced val"
* / \ -o=some_val
* / \ -o="some spaced val"
* -o, --opt -o=some_val
* (default used) -o="some spaced val"
* (default overridden)
**************************************************************************/
Pattern pattern;
PatternBuilder(pattern).opt("-o").opt("--opt").opt("-O").opt("--Opt");
const char *argv[] = {"/path/to/bin",
"-o", "123",
"--opt 123 456",
"-O=123",
"--Opt=123 456"
};
CmdLineParams params = pattern.match(static_cast<int>(sizeOfArray(argv)),
const_cast<char **>(argv));
ASSERT(false);
}
示例2: Test__Parser__SimpleFlags
void Test__Parser__SimpleFlags() {
Pattern pattern;
PatternBuilder(pattern).flag("-f").flag("--foo").flag("--bar");
const char *argv[] = {"/path/to/bin", "-f", "--foo"};
CmdLineParams params = pattern.match(static_cast<int>(sizeOfArray(argv)),
const_cast<char **>(argv));
ASSERT(params.hasFlag("-f"));
ASSERT(params.hasFlag("--foo"));
ASSERT(!params.hasFlag("--bar"));
ASSERT_THROWS(params.hasFlag("--foobar"), UnknownParamException);
}
示例3: Test__Parser__SimpleArgs
void Test__Parser__SimpleArgs() {
Pattern pattern;
PatternBuilder(pattern).arg("arg0").arg().arg("arg2");
const char *argv[] = {"/path/to/bin", "param0", "param1", "param2"};
CmdLineParams params = pattern.match(static_cast<int>(sizeOfArray(argv)),
const_cast<char **>(argv));
ASSERT_EQ(str_t("param0"), str_t(params.getArg(0)));
ASSERT_EQ(str_t("param0"), str_t(params.getArg("arg0")));
ASSERT_EQ(str_t("param1"), str_t(params.getArg(1)));
ASSERT_THROWS(params.getArg("arg1"), UnknownParamException);
ASSERT_EQ(str_t("param2"), str_t(params.getArg(2)));
ASSERT_EQ(str_t("param2"), str_t(params.getArg("arg2")));
ASSERT_THROWS(params.getArg(3), UnknownParamException);
}
示例4: internalMatch
bool BlockPattern::internalMatch(Pattern& reg, const QString & text) {
return reg.match(text);
}