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 |
|
) |
| |
该类的文档由以下文件生成: