精易论坛

标题: 批量正则替换 [打印本页]

作者: 大圣2016    时间: 2025-6-20 22:40
标题: 批量正则替换
这个json是某平台响应的,但是不是标准的json里面包含有html字符,请问怎么才能解析出来啊,我想的是批量把jj参数里的值给他全部替换成空就行了,但是不知道怎么批量替换,要是有其他更好的办法也可以

{"code":1,"msg":"查询完成","jgpx":29,"page":1,"pagesize":3,"data":[{"ym":"adds2u.com","zcs":"gname","zcsj":"1996-02-20","dqsj":"2026-02-21","jg":1380,"id":193148006,"sid":32288,"wxjc":1,"qqjc":2,"jzls":30,"jzjls":377,"chazt":1,"chasj":"2025-05-22 10:22:25","bdqz":0,"pr":0,"bdwl":0,"bdsl":1,"sgwl":0,"sgsl":0,"sosl":0,"smsl":0,"azwl":0,"bdrz":4,"bdjc":0,"qiang":1,"jssj":"2025-07-05 14:46:35","gxsj":"2025-04-06 14:46:46","hz":"com","zdsl":0,"ymgc":3,"ymgc2":36,"ymgc3":"1,2,2,3,4,5","cd":6,"jj":"<a target="_blank" href="/waibu/az.htm?ym=adds2u/com&vlx=0&fs=18" title="去核对建站历史"><span class="j_2">建站<span class="j_1">30</span>年,评377分</span></a> <font color=#ccc>|</font> Bd<a target="_blank" href="/waibu/az.htm?ym=adds2u/com&vlx=0&fs=6" title="去核对百度收录">收录1</a>","ms":"","pin":"","hy":"","lx":2,"lxtxt":"企业签约店铺","zhuanchu":1},{"ym":"quigmans.com","zcs":"gname","zcsj":"2024-02-04","dqsj":"2026-02-04","jg":399,"id":190080100,"sid":961867,"wxjc":1,"qqjc":2,"jzls":30,"jzjls":388,"chazt":1,"chasj":"2025-06-18 16:17:47","bdqz":0,"pr":0,"bdwl":0,"bdsl":0,"sgwl":0,"sgsl":0,"sosl":0,"smsl":0,"azwl":0,"bdrz":4,"bdjc":0,"qiang":1,"jssj":"2079-01-01 00:00:00","gxsj":"2025-06-18 16:12:17","hz":"com","zdsl":0,"ymgc":2,"ymgc2":28,"ymgc3":"1,2,3,4,5,6,7,8","cd":8,"jj":"<a target="_blank" href="/waibu/az.htm?ym=quigmans/com&vlx=0&fs=18" title="去核对建站历史"><span class="j_2">建站<span class="j_1">30</span>年,评388分</span></a>","ms":"","pin":"","hy":"","lx":1,"lxtxt":"个人签约店铺","zhuanchu":1},{"ym":"scp-furn.com","zcs":"gname","zcsj":"2025-04-07","dqsj":"2026-04-07","jg":345,"id":197801184,"sid":1095780,"wxjc":1,"qqjc":2,"jzls":30,"jzjls":496,"chazt":1,"chasj":"2025-06-04 06:29:37","bdqz":0,"pr":0,"bdwl":0,"bdsl":0,"sgwl":0,"sgsl":0,"sosl":0,"smsl":0,"azwl":0,"bdrz":4,"bdjc":0,"qiang":1,"jssj":"2079-01-01 00:00:00","gxsj":"2025-04-27 19:50:25","hz":"com","zdsl":0,"ymgc":3,"ymgc2":38,"ymgc3":"1,2,3,4,5,6,7,8","cd":8,"jj":"<a target="_blank" href="/waibu/az.htm?ym=scp-furn/com&vlx=0&fs=18" title="去核对建站历史"><span class="j_2">建站<span class="j_1">30</span>年,评496分</span></a>","ms":"","pin":"","hy":"","lx":1,"lxtxt":"个人签约店铺","zhuanchu":2}],"count":958151,"count2":10000}

作者: 1226852858    时间: 2025-6-20 22:40
1226852858 发表于 2025-6-21 04:04
[e=0].版本 2
.支持库 spec
.支持库 RegEx

.版本 2
.支持库 spec
.支持库 RegEx

.局部变量 json, zyJsonDocument
.局部变量 daya, 文本型

daya = #json
daya = 替换A标签内容 (daya)
json.解析 (daya, , , )
调试输出 (json.到文本 (, , , ))

.子程序 替换A标签内容, 文本型
.参数 原始文本, 文本型
.局部变量 正则, 正则表达式
.局部变量 结果, 文本型

正则.多行模式 = 真
正则.创建 (“<a[^>]*>.*?</a>”, )
结果 = 正则.替换 (原始文本, “”, 1, , 真, 真)
结果 = 子文本替换 (结果, “<font color=#ccc>|</font> Bd”, , , , 真)
返回 (结果)

作者: cunanhai    时间: 2025-6-21 01:48
  
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
zyjsonzyJsonDocument 
文本数组文本型0
n整数型 
替换后的文本文本型 
用作替换的文本文本型 
成员数整数型 
文本_取中间_批量 ( #常量1, “jj”#引号“:”#引号, #引号“,”#引号“ms”#引号“:”, 文本数组, , , , , , , )
替换后的文本 = #常量1
计次循环首 (取数组成员数 (文本数组), n)
用作替换的文本 = 文本_替换 (文本数组 [n], , , , “|”, “\|”, “/”, “\/”, #引号, “\”#引号, , , , )
替换后的文本 = 子文本替换 (替换后的文本, 文本数组 [n], “这里是替换后的文本,想让他为空就删除这里”到文本 (n), , , )
计次循环尾 ()
zyjson.解析 (替换后的文本, , , )
成员数 = zyjson.取成员数 (“data”)
计次循环首 (成员数, n)
调试输出 (zyjson.取文本 (“data[”到文本 (n - 1)“].jj”, ))
计次循环尾 ()
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
spec特殊功能支持库


这代码就是先批量取出JJ下面的值,然后把需要转义的符号进行转义,这样就可以正常解析了
这个应能解决你的问题,有什么需要转义的字符可以在文本_替换里面自己加




作者: 1226852858    时间: 2025-6-21 04:04
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
jsonzyJsonDocument 
daya文本型 
daya = #json
daya = 替换A标签内容 (daya)
json.解析 (daya, , , )
调试输出 (json.到文本 (, , , ))
子程序名返回值类型公开备 注
替换A标签内容文本型 
参数名类 型参考可空数组备 注
原始文本文本型
变量名类 型静态数组备 注
正则正则表达式 
结果文本型 
正则.多行模式 = 真
正则.创建 (“]*>.*?”, )
结果 = 正则.替换 (原始文本, “”, 1, , 真, )
结果 = 子文本替换 (结果, | Bd”, , , , )
返回 (结果)


i支持库列表   支持库注释   
spec特殊功能支持库
RegEx正则表达式支持库


作者: cunanhai    时间: 2025-6-21 04:33
审核你爹一整年

  
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
zyjsonzyJsonDocument 
文本数组文本型0
n整数型 
替换后的文本文本型 
用作替换的文本文本型 
成员数整数型 
文本_取中间_批量 ( #常量1, “jj”#引号“:”#引号, #引号“,”#引号“ms”#引号“:”, 文本数组, , , , , , , )
替换后的文本 = #常量1
计次循环首 (取数组成员数 (文本数组), n)
用作替换的文本 = 文本_替换 (文本数组 [n], , , , “|”, “\|”, “/”, “\/”, #引号, “\”#引号, , , , )
替换后的文本 = 子文本替换 (替换后的文本, 文本数组 [n], “这里是替换后的文本,想让他为空就删除这里”到文本 (n), , , )
计次循环尾 ()
zyjson.解析 (替换后的文本, , , )
成员数 = zyjson.取成员数 (“data”)
计次循环首 (成员数, n)
调试输出 (zyjson.取文本 (“data[”到文本 (n - 1)“].jj”, ))
计次循环尾 ()
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
spec特殊功能支持库


作者: cunanhai    时间: 2025-6-21 04:34
这论坛什么B毛病,一直审核...
作者: cunanhai    时间: 2025-6-21 04:34
  
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
zyjsonzyJsonDocument 
文本数组文本型0
n整数型 
替换后的文本文本型 
用作替换的文本文本型 
成员数整数型 
文本_取中间_批量 ( #常量1, “jj”#引号“:”#引号, #引号“,”#引号“ms”#引号“:”, 文本数组, , , , , , , )
替换后的文本 = #常量1
计次循环首 (取数组成员数 (文本数组), n)
用作替换的文本 = 文本_替换 (文本数组 [n], , , , “|”, “\|”, “/”, “\/”, #引号, “\”#引号, , , , )
替换后的文本 = 子文本替换 (替换后的文本, 文本数组 [n], “这里是替换后的文本,想让他为空就删除这里”到文本 (n), , , )
计次循环尾 ()
zyjson.解析 (替换后的文本, , , )
成员数 = zyjson.取成员数 (“data”)
计次循环首 (成员数, n)
调试输出 (zyjson.取文本 (“data[”到文本 (n - 1)“].jj”, ))
计次循环尾 ()
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
spec特殊功能支持库






欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4