找回密码
 加入
搜索
查看: 1555|回复: 2

[AU3基础] 正则如何匹配指定长度的数字{}?

[复制链接]
发表于 2020-3-5 18:32:05 | 显示全部楼层 |阅读模式
本帖最后由 Mixrelax 于 2020-3-5 19:08 编辑
$Filename = '00001403255-【123】-&#%【_“人机交互”%3A重构新闻专业主义的法律问题与伦理逻辑】'
$PrintParam = StringRegExp($Filename, '(\d{9})-.*?-&#%', 1)
If $PrintParam <> 0 Then
        $arr_strSplit = StringSplit($PrintParam[0], '')
        ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $PrintParam[0] = ' & $PrintParam[0] & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
EndIf
我这个正则\d{9}想从前往后匹配9个数字,可是它怎么是从后往前匹配的呀?
又比如我\d{3}匹配的结果是最后面的三位数字255,而不是我期望的前三位000。

又比如我\d{9}匹配的结果是后9位001403255,而不是我期望的前九位000014032。





发表于 2020-3-5 19:14:15 | 显示全部楼层
 '(\d{9}).*'
 楼主| 发表于 2020-3-5 19:28:14 | 显示全部楼层
本帖最后由 Mixrelax 于 2020-3-5 19:30 编辑

$PrintParam = StringRegExp($Filename, '(\d{9}).*-【(.*?)】-【?(.*?)】?&#%【(.*?)】$', 3)
_ArrayDisplay($PrintParam)

或者

$PrintParam = StringRegExp($Filename, '(\d{9}).*-.*?-.*?&#%.*?$', 1)
ConsoleWrite($PrintParam[0])
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 09:01 , Processed in 0.069218 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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