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