正则如何匹配指定长度的数字{}?
本帖最后由 Mixrelax 于 2020-3-5 19:08 编辑$Filename = '00001403255-【123】-&#%【_“人机交互”%3A重构新闻专业主义的法律问题与伦理逻辑】'
$PrintParam = StringRegExp($Filename, '(\d{9})-.*?-&#%', 1)
If $PrintParam <> 0 Then
$arr_strSplit = StringSplit($PrintParam, '')
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $PrintParam = ' & $PrintParam & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
EndIf
我这个正则\d{9}想从前往后匹配9个数字,可是它怎么是从后往前匹配的呀?
又比如我\d{3}匹配的结果是最后面的三位数字255,而不是我期望的前三位000。
又比如我\d{9}匹配的结果是后9位001403255,而不是我期望的前九位000014032。
'(\d{9}).*' 本帖最后由 Mixrelax 于 2020-3-5 19:30 编辑
user3000 发表于 2020-3-5 19:14
$PrintParam = StringRegExp($Filename, '(\d{9}).*-【(.*?)】-【?(.*?)】?&#%【(.*?)】$', 3)
_ArrayDisplay($PrintParam)
或者
$PrintParam = StringRegExp($Filename, '(\d{9}).*-.*?-.*?&#%.*?$', 1)
ConsoleWrite($PrintParam)
页:
[1]