itzyx 发表于 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.....这类的内容(就是数字加字母的组合,但是没什么前后规律),剔除上半段的内容, 写半天好像只能一个个匹配,没办法全部提取,希望各位大佬能帮忙看看,万分感谢!


haijie1223 发表于 2021-1-27 17:01:13

(?m)^([\w\d]+)$

afan 发表于 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)
如果是穿插了其它的,也可以一次性提取,改一下就行

itzyx 发表于 2021-1-27 17:23:09

haijie1223 发表于 2021-1-27 17:01
(?m)^([\w\d]+)$

感谢发哥 ,我没想到 (?m) 行内匹配 {:face (229):}

itzyx 发表于 2021-1-27 17:24:10

afan 发表于 2021-1-27 17:06
如果都是像这样连在一块,可以直接提取整段

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

谢谢A大,用你的Au3.REHelper ,代码直接求出来了,很方便{:1_415:}
页: [1]
查看完整版本: 【已解决】 求个正则表达式 ,万分感谢!