请 教 一个关于状态机的东西? 或者是模式匹配字符串列表
Kvci 2006-05-10 01:05:09 各位大虾,问个东西:
有一字符串数组,里面有若干个短字符串.
现在要在一个长字符串里检测是否包含以上字符串,要检测出来,并知道是包含哪个(可以有多个),
用C/C++都可以
如果采用笨点的办法,就是对每个短字符串都利用模式匹配来检测,有多少个短字符串就检测多少次.现在想问的是有没有更好的办法?
学过编译原理,知道里面有个什么状态机的东西,可以只扫描一次就检测完所有关键字.
但是小弟对那东西不熟悉,没学好,那东西也有点伤脑筋
哪未有没有这方面的文章?或者演示代码?C/C++都可以
最好是有个这样的函数:
传2个参数进去,一个是长字符串地址(或CString变量),另一个是短字符串地址.
返回值:
返回-1表示不包含任何关键字
若包含关键字,则返回其在短字符串数组里的序号.
谢谢拉!