• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.3.6
软件大小:62.5M
更新时间:01-16

按键精灵iOS版
立即下载

软件版本:1.6.0
软件大小:29.2M
更新时间:07-29

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 36
发新话题 回复该主题

[教程心得] 【山海插件教程】万中取一的正则匹配 [复制链接]

1#
小伙伴们大家好,之前一篇教程我们学习了通过获取界面XML来定位特征的方法:【山海插件教程】不靠图色照样识别界面。但是大家肯定注意到了,在提取坐标信息的时候使用的方法实在是太麻烦了,一个个去遍历查找,头都要大了,那有没有更简单轻松的方法?


>>>> 插件教程目录 <<<<

相关命令:
命令名称:RegexFind
命令功能: 全局查找正则匹配内容
参数: 参数1【必要】:字符串,要查找的字符串
参数2【必要】:字符串,正则匹配字符串
返回值: 返回包含匹配结果的数组


我们就以找安卓按键精灵界面界面上的社区按钮坐标为范例
范例:
  1. Import "shanhai.lua"

  2. Dim UI_XML, XY, arrXY
  3. // 获取当前界面的XML信息
  4. UI_XML = shanhai.GetUIXml()

  5. XY = FindXML(UI_XML, "社区")
  6. If XY <> "" Then
  7. arrXY = Split(XY,",")
  8. TracePrint "社区按钮的坐标为:" & arrXY(0) & "x" & arrXY(1)
  9. End If

  10. Function FindXML(XML, key)
  11.     // 组合正则表达式
  12. Dim pattern = "text=""" & key & """.-bounds=""%[([^%]]+)%]"
  13. dim RegexArr = shanhai.RegexFind(XML,pattern)
  14. If RegexArr(0) <> null Then
  15. TracePrint "匹配到字符"
  16. FindXML = RegexArr(0)
  17.     Else
  18. TracePrint "未匹配到字符"
  19. FindXML = ""
  20. End If
  21. End Function
复制代码


LUA的模式匹配和常见的正则表达式的语法很相似,只是有一些描述符的差别,所以基本上都可以按照标准的正则来进行匹配。如果想要详细的了解LUA 的模式匹配的可以留言,会在之后考虑详细的介绍下模式匹配的用法~

点评

aq001qq  想看山海大大出正则教程 !!  发表于 2016/7/21 9:05:28

最后编辑quitout 最后编辑于 2016-08-03 15:01:38
本主题由 管理员 青黛 于 2018/4/9 13:48:50 执行 审核帖子 操作
2#

支持~

承接各类脚本开发

有偿解决按键基础问题(可远程讲解)

寻6级作者分摊单子,无需任何押金,开发全程不经我手!


QQ:517216542

《征途2S》和《千军》全部功能完全免费的脚本 ↓


正式版》》
经典版》》
3#

有没有更强大点的

4#

让他个人提供

5#

look```````````````

6#

学习学习学习

7#

看看~~~~~

8#

SADADASDSAD

9#


10#

山海插件教程】万中取一的正则匹配

[url=http://bbs.anji
11#

返回unll

12#

66666

13#


14#

看看,谢谢啦,,,

15#

支持~

16#

明早哦了哦哦哦

17#

66666666666666

18#

没有更强大的了..!!

19#

不买不买

20#

好东西看看

发新话题 回复该主题