コード例 #1
0
ファイル: doi.c プロジェクト: chbrown/acl-anthology
/* science direct is now doing "M3  - doi: DOI: 10.xxxx/xxxxx" */
int
is_doi( char *s )
{
	if ( string_pattern( s, "##.####/", 0 ) ) return 0;
	if ( string_pattern( s, "doi:##.####/", 0 ) ) return 4;
	if ( string_pattern( s, "doi: ##.####/", 0 ) ) return 5;
	if ( string_pattern( s, "doi: DOI: ##.####/", 0 ) ) return 10;
	return -1;
}
コード例 #2
0
ファイル: helper.cpp プロジェクト: collielimabean/miaow
char getopt(int argc, char **argv, const char* pattern)
{
    std::vector<std::string> options;
    char return_value;
    static int arg_post = 1;
    if (argc < 2)
        return -1;

    std::string string_pattern(pattern);

    while (arg_post < argc)
    {
        if (argv[arg_post][0] != '-')
        {
            ++arg_post;
            continue;
        }

        if (strlen(argv[arg_post]) == 1)
        {
            ++arg_post;
            continue;
        }

        if (string_pattern.find(argv[arg_post][1]) != std::string::npos)
        {
            return_value = argv[arg_post][1];
            ++arg_post;
            if (argv[arg_post][0] != '-')
            {
                optarg = argv[arg_post];
            }

            return return_value;
        }
    }

    return -1;
}