找回密码
 加入
搜索
查看: 1830|回复: 4

[网络通信] 【已解决】 求个正则表达式 ,万分感谢!

[复制链接]
发表于 2021-1-27 16:38:18 | 显示全部楼层 |阅读模式
本帖最后由 itzyx 于 2021-1-28 09:01 编辑

各位大佬这是需要提取的内容:

通用SuperSpeed USB集线器
USB Composite Device
USB根集线器(USB 3.0)
通用USB焦线器
USB根集线器(USB 3.0)
USB根集线器(USB 3.0)
USB根集线器(USB 3.0)
5KF20
5F07
5F04
1F008
2F06
AE120

我想要一个正则表达式,匹配 从5KF20开始,5F07,5F04.....这类的内容(就是数字加字母的组合,但是没什么前后规律),剔除上半段的内容, 写半天好像只能一个个匹配,没办法全部提取,希望各位大佬能帮忙看看,万分感谢!


发表于 2021-1-27 17:01:13 | 显示全部楼层
(?m)^([\w\d]+)$
发表于 2021-1-27 17:06:00 | 显示全部楼层
本帖最后由 afan 于 2021-1-27 17:30 编辑

如果都是像这样连在一块,可以直接提取整段
Local $sSource = _
                '通用SuperSpeed USB集线器' & @CRLF & _
                'USB Composite Device' & @CRLF & _
                'USB根集线器(USB 3.0)' & @CRLF & _
                '通用USB焦线器' & @CRLF & _
                'USB根集线器(USB 3.0)' & @CRLF & _
                'USB根集线器(USB 3.0)' & @CRLF & _
                'USB根集线器(USB 3.0)' & @CRLF & _
                '5KF20' & @CRLF & _
                '5F07' & @CRLF & _
                '5F04' & @CRLF & _
                '1F008' & @CRLF & _
                '2F06' & @CRLF & _
                'AE120'
;~ MsgBox(0, '源字符串', $sSource)
Local $sSRERe = StringRegExpReplace($sSource, "(?m)^[\v\V]*?\v*((?:^\w+$\v*)+)[\v\V]*$", '$1')
MsgBox(0, '替换结果', $sSRERe)
如果是穿插了其它的,也可以一次性提取,改一下就行
 楼主| 发表于 2021-1-27 17:23:09 | 显示全部楼层

感谢发哥 ,我没想到 (?m) 行内匹配
 楼主| 发表于 2021-1-27 17:24:10 | 显示全部楼层
afan 发表于 2021-1-27 17:06
如果都是像这样连在一块,可以直接提取整段

如果是穿插了其它的,也可以一次性提取,改一下就行

谢谢A大,用你的Au3.REHelper ,代码直接求出来了,很方便
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 12:25 , Processed in 0.071274 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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