E2表达式函数大全
- M教程
- 2021-07-19
- 14426
E2 表达式
用于处理文本的表达式,比如获取"文本"前的几个字,可以使用 .tz(文本) 获取到 "用于处理" 四个字。 E2函数名使用中文拼音首字命名,对不懂开发的人群也能轻松操作。
E2 还能进行数组操作,在M浏览器里轻站或虫子获取列表的函数就需要获取数组。为了更容易了解并使用函数,一般处理文本的函数均以 t 开头,比如取文本左边的 tz , t = 文本,z 是左的拼音头,然后就能知道取文本右边函数为 ty 了。 处理数组的函数 以 i 开头,如 .ij(aaa) ,j = 加, 往数据中加入一行数组,值为 aaa 。
以下函数仅支持 2.3.5 及以上版本支持
文本操作类:
.tz() .ty() 取文本左、右数据。
.tz2() .ty2() 从后读取判断值文本并取判断值左、右(前、后)数据。 若内容为 abbacc 时使用 .ty(a) 取得值为 bbacc , 使用 .ty2(a) 取得值 为 cc 。
.t() 删除HTML标识,无需提供参数,如内容为 <p>a</p>b<p> 时去除html代码获取正文, 直接使用 .t() 即可,最终得到 ab
.tj() 添加内容,如已有 ab 获取 abcd : .tj(cd)
.tzc() 参数为数字,如 tzc(5) 如果当前操作值字数大于 5 就取前5个字,少于则取全部。所以这里 zc 记最长。若操作值为 ABCDE 使用 .tzc(3) 得到 AB
.tsk() 无参数,去首尾空,qswk 再加上 t 太长了不好记,就首空,意思就去首尾空,就是去掉操作首尾的空格字符
.th() 替换,参数为 欲被替换文本##替换文本。如内容为 ABC 时 需将 B 改成 2 ,可以使用 .th(B##2) 。 欲需将其置空不要,可以直接使用 .th(B) ,将得到 AB 。 同时 th 中欲被替换文本是支持正则表达式的,如果要替换的内容和正则通配符冲突的话,就需要写转义了。 比如相对复杂的内容 111ADGDGS333 将中间的英文字替换为333,可用 .th([A-Z]+##333) 。 如果你并不知道哪些是正则匹配符,建议使用 .th2() 唯一不同的是 th2 中欲被替换文本是不支持正则匹配的。
.tx() x 意思是 新,新的概念在下面的数组里也有相应的函数。 M浏览器扩展使用E2时都是要先定义源内容的,比如数据源爬虫就是读取到的网络内容,文本就是定义的文本。 这里假设源内容是 xByyEzz , 需要获取 E 后面的值和 B 前面的值(其中内容 x y z 会动态变化),注意是E后面+B前面。 新的概念就是存储之前操作的值不变让后面操作的函数处理的是源内容。理解这句话应该知道怎么做了,分三步走,获取 E 的后面值 ty2(E) -> 存储并将当前操作内容定义为源内容 tx() -> 获取 B 前面值 .tz(B)。
快速捋一篇, 源内容 xByyEzz 在使用 E2 时会自动将其转为操作值,跟着使用 ty2(E) ,取E后面就是将操作值置为 zz , 接着使用 .tx() 存储操作值并将操作值设为源文本 xByyEzz , 跟着 tz(B) 得到 x 。后面没有函数了,就将前面存储的值和操作值输出,最终得到 xyyzz 。
加解密操作:
.en() 加密 .dn() 解密
.en(base64) / .dn(base64) ----- base64 加密 及 解密
.en(md5) --- 获取MD5
.en/dn(utf-8/gbk等编码值) --- URL编码及解码
aes des 3des 加解密 注意参数之间以小写逗号分隔 输出类型仅两种 hex(16进制) 及 base64
.en/dn (aes,模式,密码,编码,输出类型,偏移量)
数组操作类:
.i(正数) 获取数组中第一个内容,从0开始,如获取第一个值 就 .i(0) ,第三个值 .i(2) 以此类推
.i(负数) 从数组尾部开始寻找,-1 即,数组倒数第一个值。 -2 数组倒数第二值,以此类推
.i(数,数) 取数组范围,理解了正数负数的用法这里的数可以自由填正数也可以负数,怎么好判断怎么来, 如有数组 [ab,ac,ad,ae] ,获取 ac,ad,ae ,即排除第一个: .i(1,-1) ,排除最后一个: .i(0,-2)
.ij(添加的文本) 将"添加的文本" 加入到数组中,比如数组已经有 [aa,bb,cc] 操作之后就等于 [aa,bb,cc,添加的文本]
.ix() 存储数组,接着和 tx 类似,将操作值改为原文本。 注意数组操作时接着操作其它函数
.it(分割符) E2里,i 表示数组,t 表示文本。将数组合并为文本且中间以参数分隔符作填充,若不填入参数则无分隔符
正则表达式
.z() 参数中若含括号必须添加转义给E2识别,若正则表达式中括号比较多在E2里看起来比较费眼,可在参数前后添加两个@标识内容为参数。 比如正则为 (a\(b\)c)|(x\(y\)z) ,就是匹配 a(b)c 或 x(y) z, 在E2里必须给括号再添加一个转义符 \ ,即 .z(\(a\\(b\\)c\)|\(x\\(y\\)z\)) 这样就看起来很乱,那如果在参数两则加双@ 就可以写成 .z(@@(a\(b\)c)|(x\(y\)z)@@) 看起来相对会比较和谐。
.z2() 匹配子表达式,同上一些编写,子表达式即为 正则中()里面的值,匹配后可以使用 .i() 获取指定括号内容。 点这里查看正则语法 : https://www.runoob.com/regexp/regexp-syntax.html
CSS选择器
.css(选择器语法) 返回匹配得到的数组,匹配语法说明:https://blog.csdn.net/weixin_34375233/article/details/89656172
.a(属性名) 返回属性值,如 a 标签的 href 属性(跳转地址): .a(href) 。 img标签的图片属性src(图片地址):.a(src)
XML解析器
.xml(标签名) 和 .css 用法一致
JSON解析器
.json(参数名) 不管是普通对象还是数组对象,都这个命令。数组对象返回数组、文本对象返回文本(也可以将其视为只有一个子项的数组)。
上一篇:浏览器内置页面地址及Api大全
下一篇:轻站功能开发教程
发表评论