KMP多项匹配/替换  
 更多...
#include <strings.hpp>
 | 
|   | MultiMatch (String matches[], uint m, String replaces[], uint n) | 
|   | 构造函数,要求匹配项和替换项  更多...
  | 
|   | 
|   | MultiMatch (String matches[], uint count, ReplaceFuncType replaceFunc, void *extra=NULL) | 
|   | 构造函数,要求匹配项和替换函数,若不进行替换,则replaceFunc可为NULL  更多...
  | 
|   | 
|   | MultiMatch (StringArray const &matches, StringArray const &replaces) | 
|   | 构造函数,要求匹配项和替换项  更多...
  | 
|   | 
|   | MultiMatch (StringArray const &matches, ReplaceFuncType replaceFunc, void *extra=NULL) | 
|   | 构造函数,要求匹配项和替换函数,若不进行替换,则replaceFunc可为NULL  更多...
  | 
|   | 
|   | MultiMatch () | 
|   | 构造函数  更多...
  | 
|   | 
| void  | init (StringArray const &matches, StringArray const &replaces) | 
|   | 
| void  | init (StringArray const &matches, ReplaceFuncType replaceFunc, void *extra=NULL) | 
|   | 
| int  | addMatchReplacePair (String const &match, String const &replace) | 
|   | 添加一对匹配替换项,返回要匹配的项数  更多...
  | 
|   | 
| int  | addMatch (String const &match) | 
|   | 添加要匹配项  更多...
  | 
|   | 
| ReplaceFuncType  | setReplaceFunc (ReplaceFuncType newReplaceFunc, void *extra=NULL) | 
|   | 设置新的替换回调函数,返回旧的替换回调函数  更多...
  | 
|   | 
| MatchResult  | search (String const &str, int offset=0) const  | 
|   | 搜索任意一项匹配(KMP)  更多...
  | 
|   | 
| MatchResult  | commonSearch (String const &str, int offset=0) const  | 
|   | 非KMP算法,仅是内部算法不同,返回值和参数同search()  更多...
  | 
|   | 
| String  | replace (String const &str, MatchResult(MultiMatch::*fnSearch)(String const &str, int offset) const =&MultiMatch::search) const  | 
|   | 替换,搜索str中的matches,并替换成replaces  更多...
  | 
|   | 
| String const &  | getMatchItem (int item) const  | 
|   | 
| String  | getReplaceItem (int item) const  | 
|   | 
| void  | setReplaceItem (int item, String const &replace) | 
|   | 
| void  | clear () | 
|   | 清空匹配项和替换项数据  更多...
  | 
|   | 
KMP多项匹配/替换 
在文件 strings.hpp 第 169 行定义.
 
      
        
          | typedef String(*  winux::MultiMatch::ReplaceFuncType) (MultiMatch const *matchObj, int item, void *extra) | 
        
      
 
 
构造函数,要求匹配项和替换函数,若不进行替换,则replaceFunc可为NULL 
 
 
构造函数,要求匹配项和替换函数,若不进行替换,则replaceFunc可为NULL 
 
 
      
        
          | winux::MultiMatch::MultiMatch  | 
          ( | 
           | ) | 
           | 
        
      
 
构造函数 
之后需要自己调用addMatchReplacePair()、addMatch()、setReplaceFunc()设置相关参数 
 
 
      
        
          | int winux::MultiMatch::addMatch  | 
          ( | 
          String const &  | 
          match | ) | 
           | 
        
      
 
 
      
        
          | int winux::MultiMatch::addMatchReplacePair  | 
          ( | 
          String const &  | 
          match,  | 
        
        
           | 
           | 
          String const &  | 
          replace  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
      
        
          | void winux::MultiMatch::clear  | 
          ( | 
           | ) | 
           | 
        
      
 
 
      
        
          | MatchResult winux::MultiMatch::commonSearch  | 
          ( | 
          String const &  | 
          str,  | 
        
        
           | 
           | 
          int  | 
          offset = 0  | 
        
        
           | 
          ) | 
           |  const | 
        
      
 
非KMP算法,仅是内部算法不同,返回值和参数同search() 
 
 
      
        
          | String const& winux::MultiMatch::getMatchItem  | 
          ( | 
          int  | 
          item | ) | 
           const | 
        
      
 
 
      
        
          | String winux::MultiMatch::getReplaceItem  | 
          ( | 
          int  | 
          item | ) | 
           const | 
        
      
 
 
替换,搜索str中的matches,并替换成replaces 
- 参数
 - 
  
    | str | 目标字符串  | 
    | fnSearch | 算法选择,请指定函数(search,commonSearch)  | 
  
   
 
 
搜索任意一项匹配(KMP) 
- 参数
 - 
  
    | str | 字符串  | 
    | offset | 偏移,表示从哪个位置开始搜  | 
  
   
- 返回
 - MatchResult(pos,item) 返回的pos考虑了offset值 
 
 
 
      
        
          | void winux::MultiMatch::setReplaceItem  | 
          ( | 
          int  | 
          item,  | 
        
        
           | 
           | 
          String const &  | 
          replace  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
该类的文档由以下文件生成: