吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 794|回复: 11
收起左侧

[求助] 易语言正则使用过程中遇到的问题,请大佬指点

  [复制链接]
蒋阿君 发表于 2023-8-23 14:48
本帖最后由 蒋阿君 于 2023-8-23 14:51 编辑

目的:把杂乱文本处理为想要的格式
杂乱文本:
[Asm] 纯文本查看 复制代码
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX93 value: 0000100000000000000000000000000000000000 -> 0000100000000000000000000000000000000000
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX94 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX95 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX96 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX97 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX98 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX99 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX100 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX101 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX102 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX103 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX104 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX105 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX106 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX107 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX108 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX109 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX110 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX111 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX112 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX113 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX114 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX115 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX116 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX117 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX118 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX119 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX120 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX121 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX122 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX123 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX124 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX125 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX126 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX127 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX128 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX129 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX130 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX131 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX132 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX133 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX134 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX135 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX136 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX137 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX138 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX139 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX140 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX141 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX142 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX1 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX2 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX3 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX4 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX5 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX6 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX7 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX8 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table:  key: CDX9 value: [-] -> [-]

目标格式:
[Asm] 纯文本查看 复制代码
存档保存("CDX94","")
存档保存("CDX95","")
存档保存("CDX96","")
存档保存("CDX97","")
存档保存("CDX98","")


参考教学视频:https://www.bilibili.com/video/BV1G54y1R7zS/?vd_source=8431021b53d9b3de0f3a9a1b29cd6942

程序中使用的正则表达式:
正则调试.png

正则.png
[Asm] 纯文本查看 复制代码
“table: (.*?)\n|key: (.*?)\n| value: (.*?)\n”


程序分步运行:
读入文本时能取到数据.png
这个时候是可以正常取到文本数据的

目前遇到问题:在进行正则替换时取不到数据,如下图所示
匹配不到数据.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pjy612 发表于 2023-8-23 14:54
正则直接就错了吧? 先学会正则再使用。。。
推荐在 https://regex101.com/ 里面先练练手
a1100330 发表于 2023-8-23 15:00
table: ([\s\S]*?) key: ([\s\S]*?) value: ([\s\S]*?)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
蒋阿君 + 1 + 1 谢谢大佬的改进

查看全部评分

solai8 发表于 2023-8-23 15:07
如果是每行待读取内容是固定格式的,直接用文本_取出中间文本 就可以了,用不上正则啊
 楼主| 蒋阿君 发表于 2023-8-23 15:15
pjy612 发表于 2023-8-23 14:54
正则直接就错了吧? 先学会正则再使用。。。
推荐在 https://regex101.com/ 里面先练练手

正确.png
正则如果正确的话,匹配结果是这样显示吗
 楼主| 蒋阿君 发表于 2023-8-23 15:19
solai8 发表于 2023-8-23 15:07
如果是每行待读取内容是固定格式的,直接用文本_取出中间文本 就可以了,用不上正则啊

等完成这个正则的方法,我再去尝试下您说的这个方式
pjy612 发表于 2023-8-23 15:25
本帖最后由 pjy612 于 2023-8-23 15:30 编辑
蒋阿君 发表于 2023-8-23 15:19
等完成这个正则的方法,我再去尝试下您说的这个方式

感觉你要的正则是
[Asm] 纯文本查看 复制代码
table:\s+(.*)\s+key:\s+(.*)\s+value:\s+(.*)\s*


可以直接浏览器里拿 JS 试试
[JavaScript] 纯文本查看 复制代码
data = `08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX136 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX137 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX138 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX139 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX140 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX141 value: [-] -> [-]
08-18 10:58:24 [Info]        [GET] table: 哈杭州3 key: CDX142 value: [-] -> [-]
`
ma = data.matchAll(/table:\s+(.*)\s+key:\s+(.*)\s+value:\s+(.*)\s*/g)
for (let m of ma) {
    console.log(m)
}


最后怎么用到易语言里面那得自己研究了。。。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
蒋阿君 + 1 + 1 对对对,谢谢大佬 我还在研究为啥后面的值取不出来呢

查看全部评分

aq425518860 发表于 2023-8-23 16:37

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
蒋阿君 + 1 + 1 谢谢大佬

查看全部评分

ZhuGeXuanYuan 发表于 2023-8-23 17:09
精益模块  文本_取出中间文本() 用这个函数即可
wyl0205 发表于 2023-8-23 18:52
本帖最后由 wyl0205 于 2023-8-23 19:57 编辑

这种数据,正则最简单,赶紧学习下正则吧,学了这些都不是事。
易语言的正则不懂

table:\h(.+)\hkey:\h(.+)\hvalue
提取两列值

如果只要key值
key:\h(.+)\hvalue

试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表