c_cpp ç言语で正规表现で検索を行う
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp ç言语で正规表现で検索を行う相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <regex.h>
void put_n_char(const char *s, regoff_t so, regoff_t eo)
{
const char * const ep = s + eo;
for(s += so; s != ep; s++) putchar(*s);
}
int main(void)
{
regex_t reg;
const char *pattern = "h(ttp:(//))([[:alnum:]./]+)";
regmatch_t match[5];
int match_elems = sizeof match / sizeof match[0];
char *s[] = {
"http://www.example.com",
"123http://www.google.com/",
};
int s_elems = sizeof s / sizeof s[0];
int i, j;
regcomp(®, pattern, REG_EXTENDED);
for(i = 0; i < s_elems; i++) {
if(regexec(®, s[i], match_elems, match, 0) != REG_NOMATCH) {
for(j = 0; j < match_elems; j++) {
// 注: 実装によっては regoff_t は単純な int でない可能性がある
printf("%2lld, %2lld: ", match[j].rm_so, match[j].rm_eo);
if(match[j].rm_so >= 0)
put_n_char(s[i], match[j].rm_so, match[j].rm_eo);
puts("");
}
}
puts("");
}
regfree(®);
return 0;
}
以上是关于c_cpp ç言语で正规表现で検索を行う的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 自力で,HTTPサーバーをÇ言语で1から作る!
python LIBSVMの学习データのスケーリングを行う。
php 【WordPress的】复数のタクソノミを条件に使った复合検索をする
python テキストファイルの全ての行に共通の置换处理を行う。
text 主机ファイルを编集してサーバー移行时の动作确认を行う
golang 去言语正规表现テスト