请教怎么样匹配记事本中的文字?
本帖最后由 lansings 于 2012-7-15 20:58 编辑用来做一个自动聊天的软件,在inputbox 里输入你要问的问题,然后怎么匹配其中的关键字,再从记事本里找到相应的回答?(最少匹配2个关键字)
比如说我输入:你好;
然后把这句话和下面的 里的文字进行匹配,如果匹配成功则在里找出相应的序号进行回答。
望大家帮帮忙,我是初学者。
1.你好?
2.你在哪里?
3.你叫什么名字?
4.你最近好吗?
5.可以交个朋友吗?
1.你好。
2.我在家里上网。
3.我叫机器人小A。
4.还可以,你呢?
5.当然可以啦,呵呵。 Local $Str1 = _
'' & @CRLF & _
'1.你好?' & @CRLF & _
'2.你在哪里?' & @CRLF & _
'3.你叫什么名字?' & @CRLF & _
'4.你最近好吗?' & @CRLF & _
'5.可以交个朋友吗?'
Local $Str2 = _
'' & @CRLF & _
'1.你好。' & @CRLF & _
'2.我在家里上网。' & @CRLF & _
'3.我叫机器人小A。' & @CRLF & _
'4.还可以,你呢?' & @CRLF & _
'5.当然可以啦,呵呵。'
$sKey = InputBox('请输入以下问题中的关键字', $Str1, '哪里', ' M', 300, 180)
Local $aSR = StringRegExp($Str1, '(\d+).*?' & $sKey, 1)
If @error Then Exit MsgBox(48, '注意', '无匹配')
Local $aSR1 = StringRegExp($Str2, '(?<=\n)\h*' & $aSR & '\h*\.?(\V+)', 1)
If @error Then Exit MsgBox(48, '注意', 'Error_1')
MsgBox(0, '', $aSR1) 回复 2# afan
谢谢你。 回复 2# afan
专门进来膜拜A版的正则的!留个脚印,备用! 慢慢学习正则,人老记性差了。 正在学习正则,发现好容易忘记啊 这个有用,学习了。
页:
[1]