》》hs_compile_ext_multi
使用额外的参数编译表达式, 额外的参数包括:
MIN_OFFSET 距离开始的最小偏移开始匹配
MAX_OFFSET 距离开始的最大偏移结束匹配
MIN_LENGTH 最短的匹配长度,例如 带(.*)正则表达式
正则表达式里不必包括 ‘/’‘/’的开始和结束
》》flag参数说明
CASELESS 对大小写忽略
DOTALL ‘.’在匹配时会包括换行符
MULTILINE ^ $ 可以在多行的行首尾匹配
SINGLEMATCH 每个ID号只会匹配一次
SOM_LEFTMOST 在回调函数会通知匹配起始位置,可能影响性能
》》使用hs_alloc_scratch
hs_scratch_t **scratch这个临时数据在第一次使用时必须为初始化成NULL,可多次调用,会自动根据最大的db生成。
》》使用hs_scan
匹配成功会调入回调函数,返回HS_SCAN_TERMINATED直接结束匹配,返回HS_SUCCESS会继续匹配。