#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(?<MasterGroup>(?<MatchMisc>.{0,8}?(刚刚|烫手|热乎|出息|来[了啦辣喽]).{0,8}+)|(?<StrictMatchNumber>\d)|(?<MatchMost>.{0,8}?(?<PreQuantifier>[后前]?)第?(?<NumberMatch>[0-9一二三四五六七八九十两俩百万千亿半]+[kw]?)(?<PostQuantifierMatch>[后前个条发第]?(?<PostQuantifierMost>点?赞|播放?|弹幕|看|转发?|开|分钟?|小?时|秒|min|h)|(?<CompareMatch>[以之]?[后前])).{0,8}+)|(?<MatchOrder>.{0,8}?[前第](?&NumberMatch).{0,8}+)|(?<MatchInverse>.{0,8}?[前第](?&NumberMatch)[个名].{1,8}+)|(?<MatchAnchor>空降.{3,8}+))$"
Local $sString = "(注。以下测试样例部分取自某些视频的真实弹幕,少部分是自己编的句子)" & @CRLF & _
"看到我就是两百以后了" & @CRLF & _
"看到我你就不是第一了" & @CRLF & _
"1播放,256赞,B站特色" & @CRLF & _
"一分钟!!!312个赞" & @CRLF & _
"两分钟热热乎乎" & @CRLF & _
"600播放500赞" & @CRLF & _
"第一名是我" & @CRLF & _
"第838个赞我收下了" & @CRLF & _
"天哪那,第四个转发!!!" & @CRLF & _
"4分钟" & @CRLF & _
"热乎" & @CRLF & _
"183条弹幕" & @CRLF & _
"十分钟的,还热乎啊,真香" & @CRLF & _
"关上前500发弹幕的大门" & @CRLF & _
"怎么过一会儿就18个转发了" & @CRLF & _
"关上前10000播放量的大门" & @CRLF & _
"热乎25min" & @CRLF & _
"8888点赞" & @CRLF & _
"12个" & @CRLF & _
"第4" & @CRLF & _
"来了来了,1分钟!" & @CRLF & _
"热乎 前2000" & @CRLF & _
"我迟到了10min!!!" & @CRLF & _
"有10只" & @CRLF & _
"2分钟,烫" & @CRLF & _
"2021第一天就这么刺激" & @CRLF & _
"借刀杀人*2" & @CRLF & _
"2333333" & @CRLF & _
"66666666" & @CRLF & _
"2" & @CRLF & _
"1" & @CRLF & _
"2:42" & @CRLF & _
"出息了" & @CRLF & _
"7分钟 很快啊!" & @CRLF & _
"一番定夺" & @CRLF & _
"第一哈哈哈" & @CRLF & _
"半小时,冻死了" & @CRLF & _
"空降00:00" & @CRLF & _
"牛顿第二定律" & @CRLF & _
"你这到底是保护村庄还是破坏村庄来了" & @CRLF & _
"燃起来了!" & @CRLF & _
"来了来了" & @CRLF & _
"很残酷的事实:在未命名的情况下不管你杀不杀末影螨它都会在两分钟后消失" & @CRLF & _
"" & @CRLF & _
"(以下是误杀的例子。注意,这一些误杀并不准备修复,毕竟正则是读不懂人话的。)" & @CRLF & _
"三分钟后会消失" & @CRLF & _
"(。。。我找不到误杀的例子了。。。)" & @CRLF & _
"刚刚,放进岩浆里还能吃" & @CRLF & _
"(哇这个竟然没有屏蔽!想办法修复中哇。。。)"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm