【问题标题】:Is there any function in C similar to LIKE in SQL to compare 2 strings? [duplicate]C 中是否有任何类似于 SQL 中的 LIKE 的函数来比较 2 个字符串? [复制]
【发布时间】:2015-12-23 18:19:46
【问题描述】:

我的意思是,我们可以这样使用:

char string1[] = "???, buddy*\0";
char string2[] = "Hey, buddy, hello!\0";
if (like(string1, string2) 
    puts("strings are similar!");
else
    puts("string are different!");

【问题讨论】:

  • 不确定 strcmp 会不会。我怀疑 OP 会期望 string1 和 string2 是“喜欢”的,如果我们将 string1 视为正则表达式,那么 string2 会匹配。也就是说,OP 可能想查看 C 的正则表达式库
  • @hacks strcmp 是否接受掩码符号?喜欢?*
  • 我不认为这是重复的。 OP 要求的是 glob,而不是正则表达式。
  • POSIX 为fnmatch.h 中的glob(通配符,如?*)提供了函数。你需要的函数叫做fnmatch()
  • 如果你想要像 "%xxx%" 这样简单的东西,你可以使用 strstr。

标签: c string search compare


【解决方案1】:

您想使用正则表达式库。有关 ANSI 库信息,请参阅此问题:Regular expressions in C: examples?

【讨论】:

    猜你喜欢
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    相关资源
    最近更新 更多