AIML

基于Program-o的AIML改进版本

原生的AIML只支持简单的*和_匹配,有时候不能很好的满足需求,所以希望修改成用正则表达式来匹配。 今天思考了下这个问题,目前已经初步解决,但仅仅是修改了匹配的代码,评分代码尚未修改。 主要的处理还是在response_handler.php这个文件里。 在findMatch函数中,把原来的SQL语句替换掉 SELECT * FROM $dbn.aiml WHERE ( ((pattern = '') OR (pattern = '*') OR (pattern = '$input') OR ((pattern LIKE '$

  • Leo Chen
    Leo Chen
1 min read
PHP

php正则表达式使用心得

今天第一次自己写正则,果真是实践过之后印象才会深刻。。。。。 第一个要记录的是有关正则的,其中有一步是匹配一段任意字符,包括回车换行,直到出现特定字符串。 按照网上的一些教程,我写出的正则表达式是 .+? 但是却发现不能匹配,原因是.不能匹配换行符,于是google了一下下,发现也有前人遇到此问题,解决方法是 [\s\S]+? 注:+?是惰性限定符,功能是 重复1次或更多次,但尽可能少重复。 轻松搞定。 第二个是php中使用正则。 我只用到了一个函数preg_match_all($preg,$str,$arr); 这个函数有3个参数,第一个是正则表达式,第二个是要匹配的字符串,第三个是可选参数,

  • Leo Chen
    Leo Chen
1 min read