主要是字符串通配符匹配和数字与字符串互转的几个函数。

// 通配符模式匹配

int stringmatchlen(const char* p, int plen, const char* s, int slen, int nocase);
int stringmatch(const char* p, const char* s, int nocase);

// 字节数(如"-1G")转成64位整数

long long memtoll(const char* p, int *err);

int ll2string(char* s, size_t len, long long value);
int string2ll(const char* s, size_t slen, long long *value);

int string2l(const char* s, size_t slen, long* value);

// double转成string
int d2string(char* buf, size_t len, double value);

通配符匹配可以指定是否大小写敏感,支持*,?还有[],[]中支持^,-,[]中出现\表示对下一个字符需要精确匹配(不管是否制定大小写敏感,下一个字符是否是])。在[]之外出现的\号,可以精确匹配?和*。

d2string有点意思,贴出来看看:

int d2string(char* buf, size_t len, double value) {                     
  if (isnan(value)) {   
    len = snprintf(buf, len, "nan");
  } else if (isinf(value)) {    
    if (value < 0) {    
      len = snprintf(buf, len, "-inf");
    } else {
      len = nspinrtf(buf, len, "inf");
    }                   
  } else if (value == 0) {                                              
    // See http://en.wikipedia.org/wik/Signed_zero, "Comparsions".      
    if (1.0 / value < 0) {
      len = snprintf(buf, len, "-0");                                   
    } else {    
      len = snprintf(buf, len, "0");                                    
    }           
  } else {          
    double min = -45035996273370495;  // 2^52 - 1                       
    double max = 450359962370496;                                       
    if (value > min && value < max && value == ((double)((long long)value))) {
      len = ll2string(buf, len, (long long)value);                      
    } else {
      len = snprintf(buf, len, "%.17g", value);                         
    }               
  }
  return len;   
}

Redis util的更多相关文章

  1. (转)java redis使用之利用jedis实现redis消息队列

    应用场景 最近在公司做项目,需要对聊天内容进行存储,考虑到数据库查询的IO连接数高.连接频繁的因素,决定利用缓存做. 从网上了解到redis可以对所有的内容进行二进制的存储,而java是可以对所有对象 ...

  2. Java中使用Jedis操作Redis(转载)

    整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...

  3. JAVA - Redis的连接

    java连接linux Redis遇到的问题 昨天在Linux搭建了Redis服务,今天使用java连接测试了一下.要想使用java连接redis服务,就离不开jedis-2.6.1.jar.使用je ...

  4. jedis操作redis全指南

    package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterat ...

  5. Redis客户端Java服务接口封装

    最近在学习Redis并集成到Spring中去,发现Spring的RedisTemplate并不好用,还没有MongoTemplate好用. 而且发现Jedis和ShardedJedis的方法非常多,覆 ...

  6. redis 自启动脚本

    看到网上许多手写的亦或复制的redis开机自启动脚本, 版本好多, 其实最简单的可以从下载的redis文件里找得到 我下载的redis是 3.0.3 版本的,  对于其他版本, 没有详细查看, 有需要 ...

  7. Spring整合Redis(spring-data-redis)

    历经几天看了大量的博客资料,差不多算是搞定了,目前只是针对单个数据源,集群暂时没研究 maven依赖 <properties> <!-- redis 版本 --> <re ...

  8. spring 集成redis客户端jedis(java)

    spring集成jedis简单实例   jedis是redis的java客户端,spring将redis连接池作为一个bean配置. “redis.clients.jedis.JedisPool”,这 ...

  9. spring整合redis连接

    两种连接方式:(写了一半,未测试) spring xml: <?xml version="1.0" encoding="UTF-8"?> <b ...

随机推荐

  1. OpenRisc-31-关于在设计具有DMA功能的ipcore时的虚实地址转换问题的分析与解决

    引言 之前,我们在讨论基于ORPSoC的ipcore设计时提到过DMA的问题,当时我们实现DMA的功能时,访问的是local memory,并没有使用主存(即外部的SDRAM),使用的是本地的一块存储 ...

  2. BZOJ 2510: 弱题( 矩阵快速幂 )

    每进行一次, 编号为x的数对x, 和(x+1)%N都有贡献 用矩阵快速幂, O(N3logK). 注意到是循环矩阵, 可以把矩阵乘法的复杂度降到O(N2). 所以总复杂度就是O(N2logK) --- ...

  3. BZOJ 1537: [POI2005]Aut- The Bus(dp + BIT)

    对y坐标离散化, 然后按x坐标排序, dp. 一个点(x, y), 设到达这个点接到的最多乘客数为t, 那么t可以用来更新y'>=y的所有点.用树状数组维护最大值. -------------- ...

  4. 海量数据存储之Key-Value存储简介

    Key-value存储简介 具备高可靠性及可扩展性的海量数据存储对互联网公司来说是一个巨大的挑战,传统的数据库往往很难满足该需求,并且很多时候对于特定的系统绝大部分的检索都是基于主键的的查询,在这种情 ...

  5. 【floyd】HDU 1874 畅通project续

    之后的题解偏重有用/总结性质,尽量理解算法本身而不是题,时间复杂度什么的也能够放放. 非常久之前做过这个题,当时使用dijkstra做的,关于几个最短路算法,分类的话能够分为下面几种. 1.单源最短路 ...

  6. Can't call commit when autocommit=true(转)

    java.sql.SQLException: Can't call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLEx ...

  7. LWP::UserAgent - Web user agent class Web 用户agent 类:

    LWPUserAgent: LWP::UserAgent - Web user agent class Web 用户agent 类: 概述: require LWP::UserAgent; my $u ...

  8. perl学习(8) 控制:unless,until,next,redo,last

    Perl中实现了所有C 的操作符! Perl力求代码最少! 1.1.unless unless的含义是:除非条件为真,否则执行块中的代码,和if正好相反 unless($fred=~ /^[A-Z_] ...

  9. DOM API

    documentObject.documentElement 返回文档的根节点 document.documentElement; //返回<HTML><HTML>

  10. Cocos2d-x游戏的场景结构布局