找回密码  加入

QQ登录

只需一步,快速开始

AUTOIT CN

搜索
查看: 97|回复: 8

[AU3基础] 求一正则 提取 123Of-34ce

[复制链接]
发表于 2019-11-7 16:00:37 | 显示全部楼层 |阅读模式
  1. $Filename='099-申-宇-123Of-34ce-10元-静-黑'
  2. $Match=StringRegExp($Filename, '.*?[宇|么]-(.*?)-[\d+].*',3)
  3. If $Match<>0 Then ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Filename = ' & $Match[0] & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
复制代码
 楼主| 发表于 2019-11-7 16:02:07 | 显示全部楼层
我想得到123of-32ce 但是却得到123of
发表于 2019-11-7 16:07:24 | 显示全部楼层
  1. [宇么]-(.*?)-\d+元
复制代码
 楼主| 发表于 2019-11-7 16:14:11 | 显示全部楼层

但是 有些情况下没有 元?
像这种 得到的还是123of
099-申-宇-123Of-34ce-10-静-黑
发表于 2019-11-7 16:18:22 | 显示全部楼层
Mixrelax 发表于 2019-11-7 16:14
但是 有些情况下没有 元?
像这种 得到的还是123of
099-申-宇-123Of-34ce-10-静-黑

所以 提问就应该将可能的情况尽量都描述出来,免得打乒乓球
  1. [宇么]-([^-]+-[^-]+)
复制代码
 楼主| 发表于 2019-11-7 16:22:51 | 显示全部楼层
afan 发表于 2019-11-7 16:18
所以 提问就应该将可能的情况尽量都描述出来,免得打乒乓球

知道了afan老师,还有最后一个球我要打回去,等着接
就是有些情况下它没有前面的[099-申-宇-] 如何将它括起来 加个?号呢?
123Of-34ce-10-静-黑
用这个正则 出不来结果
发表于 2019-11-7 16:52:29 | 显示全部楼层
  1. ([^-]+-[^-]+)-[^-]+-[^-]+-[^-]+$
复制代码
 楼主| 发表于 2019-11-7 17:06:24 | 显示全部楼层
本帖最后由 Mixrelax 于 2019-11-7 17:08 编辑

原来正则 不支持运算
$Match=StringRegExp('099-申-么-123Of34ce-210-静-黑', '([^-]+-[^-]+)-[^-]+-[^-]+-[^-]+$',1)
$taobaoID=StringRegExpReplace($Match[0], '[宇么]-(.*?)','$1')
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $taobaoID = ' & $taobaoID & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console

来个 正则替换 过滤掉正则后的结果 问题就此解决。谢谢afan老师的耐心指导。

发表于 2019-11-7 18:20:06 | 显示全部楼层
Mixrelax 发表于 2019-11-7 17:06
原来正则 不支持运算
$Match=StringRegExp('099-申-么-123Of34ce-210-静-黑', '([^-]+-[^-]+)-[^-]+-[^ ...

你这又变了…… 让你贴出尽量多的情况看来是不指望了。
就目前的这四五种情况而言,通用的
  1. \w+-\w+
复制代码
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2019-11-17 10:24 , Processed in 0.062500 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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