精易论坛

标题: 取中间文本 [打印本页]

作者: a791289061    时间: 2025-5-15 18:30
标题: 取中间文本
例如  post_id="464" idx="1" i="5">115网盘</button><button class="button" post_id="464" idx="1" i="6">百du网盘</button><button class="button" post_id="464" idx="1" i="7">123 网盘</button><button class="button" post_id="464" idx="1" i="8">迅雷网盘</button></div></div></div><div style="margin-top: 20px;"></div></div>"}  想取百du网盘前面的怎么取  不是取左边 从这里开始第二个post_id    到百du网盘   post_id百du网盘位置随机变动   不是固定

作者: a791289061    时间: 2025-5-15 18:31
取post_id到百du网盘 中间         位置随机变动
作者: 2932501985    时间: 2025-5-15 18:35
使用正则......
作者: a791289061    时间: 2025-5-15 18:38
2932501985 发表于 2025-5-15 18:35
使用正则......

正则不好使  随机变动的  有时候又不一定有百du网盘这些字 如果用正则就匹配失败了
作者: a791289061    时间: 2025-5-15 18:40
a791289061 发表于 2025-5-15 18:38
正则不好使  随机变动的  有时候又不一定有百du网盘这些字 如果用正则就匹配失败了 ...

又没办法 取文本中间 从右到左开始取的
作者: baitso    时间: 2025-5-15 18:40
post_id="(\d+)" idx="(\d+)" i="(\d+)">百du网盘
作者: cunanhai    时间: 2025-5-15 18:42
你描述不清,位置随机,百du网盘还有时候没有, 那根据什么判断取到的是对的呢?
作者: a791289061    时间: 2025-5-15 18:48
cunanhai 发表于 2025-5-15 18:42
你描述不清,位置随机,百du网盘还有时候没有, 那根据什么判断取到的是对的呢? ...

就是取post_id 到 百du网盘 的中间          post_id有很多重复的    百du网盘有可能会变动到第四个   目前虽然是第二个  随便变动的
作者: cunanhai    时间: 2025-5-15 19:04
这个表达式行不行?    button" ([^>]*>)百


补充内容 (2025-5-15 19:05):
button" ([^>]*)>百
作者: samll88    时间: 2025-5-15 19:14
很简单啊
位置1 = 寻找文本 (#常量1, “115网盘”, , 假)  '先找出115网盘的位置
文本_取出中间文本 (#常量1, “post_id”, “百du网盘”, 位置1, ) '从115网盘的位置开始搜索

作者: aipca    时间: 2025-5-15 19:37
post_id="(\d+)" idx="(\d+)" i="(\d+)">
或则取文本中间 post_id与>之间,不要取百du网盘
作者: 你的猫    时间: 2025-5-15 20:57
  
子程序名返回值类型公开备 注
取指定网盘POST_ID文本型 
参数名类 型参考可空数组备 注
网页源码文本型
变量名类 型静态数组备 注
正则正则表达式 
搜索结果搜索结果0
i整数型 
当前文本文本型 
目标索引整数型 
目标索引 = 0  ' 用于记录"百du网盘"的位置
正则.创建 ("]*post_id=\"" ([^\""]+)\""[^>]*> ([^<]+)", )  ' 匹配按钮结构
正则.搜索全部 (网页源码, 搜索结果)
计次循环首 (取数组成员数 (搜索结果), i)
当前文本 = 搜索结果[i].取子匹配文本 (网页源码, 2, )

如果真 (当前文本 = "百du网盘")
目标索引 = i
跳出循环 ()

计次循环尾 ()
如果真 (目标索引 > 0)
' 返回目标按钮的post_id
返回 (搜索结果[目标索引].取子匹配文本 (网页源码, 1, ))

返回 ("")  ' 未找到时返回空



i支持库列表   支持库注释   
RegEx正则表达式支持库


作者: 走一回    时间: 2025-5-16 09:58
a791289061 发表于 2025-5-15 18:38
正则不好使  随机变动的  有时候又不一定有百du网盘这些字 如果用正则就匹配失败了 ...

不一定有百du网盘这些字。。。。。。百du网盘    这几个了都没有了,这不是随机变动,这是没了。变动这样大,那原始文本也不一定是这样的,分割的文本也千奇百怪了,提供的源文本太少,不具有唯一性的分割符,不能写代码了。
作者: Wenle    时间: 2025-5-18 23:18
你要找百du网盘前面的一个嘛?可不可以先寻找到百du网盘的位置,然后再取前面80左右的文本,最后用<分割,分割后用文本_只取汉字可以否???
作者: 江江0    时间: 2025-5-18 23:30
调试输出 (文本_取左边 (编辑框1.内容, “百du网盘”, 文本_寻找文本 (编辑框1.内容, “百du网盘”, , ), ))




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