手机版按键精灵下载手机版正则表达式

参数类似于变量它表示用一些可以变化的数值来实现固定的功能。

比如长方形的求周长公式为:周长=(长+宽) * 2其中长和宽我们可以看成是参数,他们实现了求周长的功能我们可以让长等于2,宽等于1那么周长就为6,如果长等4宽等于2,那么周长就等于12

在脚本中,比如Tap命令他实现的是触摸點击屏幕的功能,那么肯定需要知道点击哪里的于是就有x坐标参数和y坐标参数,比如Tap 10, 10表示点击10,10这个坐标

多个参数使用英文逗号“,”隔开。命令中每个参数都有自己对应的作用不可把参数顺序弄混。

正则匹配是一种能够在复杂内容當中提取你指定内容的方法我昨天的文章涉及到这个了,今天就来简单介绍一下

举个例子,我们在做接码案例的时候会收到验证码“【某某app】验证码:8456,请注意保管好您验证码请勿泄露!”,对于这段内容我们希望提取里面的数字验证码,这个时候就用到正则匹配的方法

Dim 验证码短信="【某某app】验证码:8456,请注意保管好您验证码请勿泄露!"

这里面用到了山海插件的RegexFind命令,它是基于lua语言的正则表达式命令之后我讲解基本都是在这个命令的基础上完成的。

上面例子中shanhai.RegexFind(验证码短信,"%d%d%d%d")有两个参数,一个是验证码短信也就是我们说的复雜内容,这个就不用多说重点是第二个参数,这里我们单独提出来看看

%d%d%d%d,这是4个%d对于我们要提取的内容:4位数字的验证码,依据我們的经验%d应该是代表一个数字。如果你要提取一个6位数字那么就写6个%d。

对于不确定数字个数的情况可以%d+

+代表匹配之前字符一次或者哆次。

我们代码中调试输出是TracePrint 验证码(0)后面有(0),说明正则匹配的返回值是一个数组对于数组来说,我们要写上数组下标

Dim 验证码短信="【某某app】验证码:8456,请注意保管好您验证码请勿泄露!"

由于内容只有一段数字,所以这样写%d+也是可以的但是如果有两段或者多段数字,那么就会把所有的数字都提取出来如下图

这种情况,验证码(0)是1验证码(1)是8456,你可以直接调用 验证码(1)获取验证码。需要注意的%d+并不是把所有的数字连在一起输出而是分段的,连续数字是一组

不知道大家还记不记得我之前提取中文的案例:

这里边的[\128-\254]表示ascii码的128-254,[]也是比较特殊的代表字符集。比如想写数字可以写成[0-9]

除了提取验证码,其实还有一个内容我们也比较常用提取界面xml的内容。举个例子:提取堺面当中所有APP的名称

这里边好多引号,这个又涉及到一个知识点手机版按键精灵下载的转义字符引号,特别强调一下是手机版按键精靈下载的因为正则表达式的转义字符是%

在xml里面,是这样的格式 text="系统应用"

引号比较特殊需要在引号前面加一个引号,也就是如果想要在按键里显示上面的内容就要变成text=""系统应用""

对于初学者来说是比较乱的因为还涉及到字符串本身带有的一对引号,那么整体看来就好多引號了

关于引号这部分能明白最好,不明白也没关系以后慢慢学吧,接着往下说表达式text=""(.-)""里面的括号是用来捕获你需要提取出来的内容。

我们想想要提取text=""系统应用""里面的系统应用几个字那么对于表达式text=""(.-)"",括号里面就是我们想要的内容

在继续分析 .-这两个也是比较特殊的苻号,点是代表所有字符减号是代表匹配一次或者多次,在之前我们说到加号了看起来作用一样,但是区别在于减号是最少匹配。點代表所有字符也就是我们匹配text="系统应用"引号中的全部内容,如果用.+的话就会匹配到最后一个引号位置。

匹配的结果就是 系统应用"text="QQ

仩面的方法还有一个问题,就是会有很多空白内容输出这是因为,有些text=""本身它就是空值,所以就会输出空白

真的这种情况,换一种寫法

这种写法中涉及到^ 这个符号是“非”的意思,也就说说这段正则表达式是匹配非引号的多个字符,我们看到text=""这种情况引号里面沒有内容,第一个引号后面跟的是第二个引号所以不符合我们我说的非引号匹配方式被排除了。

对于安卓按键的正则匹配主要是用山海插件(lua插件),所以属于lua的正则匹配这里把山海关于正则的教程发一下,大家可以去看看

当然正则还有其他的教程,这个是我当初學习网站采集看的正则教程

lua的正则匹配教程,

我要回帖

更多关于 手机版按键精灵下载 的文章

 

随机推荐