#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "[HDQhdq]2\d{8}"
Local $sString = "# 配對身分證字號,用台灣縣市與男女做範例" & @CRLF & _
"" & @CRLF & _
"# 題目說明區塊" & @CRLF & _
"請幫我找出桃園縣(H), 台南市(D), 嘉義縣(Q)中為女生的身分證字號" & @CRLF & _
"" & @CRLF & _
"#欲測試資料集" & @CRLF & _
"A121040176" & @CRLF & _
"L186856359" & @CRLF & _
"Z127598010" & @CRLF & _
"I114537095" & @CRLF & _
"D279884447" & @CRLF & _
"L186834359" & @CRLF & _
"D243736345" & @CRLF & _
"I114537095" & @CRLF & _
"Q146110887" & @CRLF & _
"D187217314" & @CRLF & _
"I114537095" & @CRLF & _
"Q243556025" & @CRLF & _
"Z127598010" & @CRLF & _
"H250077453" & @CRLF & _
"Q188367037" & @CRLF & _
"" & @CRLF & _
"# 應配對結果(亮色區塊)" & @CRLF & _
"D279884447" & @CRLF & _
"D243736345" & @CRLF & _
"Q243556025" & @CRLF & _
"H250077453" & @CRLF & _
"" & @CRLF & _
"# (選項)寫上註解,好好說明你怎麼想的" & @CRLF & _
"就直覺想到就這樣寫了@@" & @CRLF & _
"" & @CRLF & _
"# (選項)將你的 Regex 註解起來,使用 Extended Formating" & @CRLF & _
"/" & @CRLF & _
" [HDQhdq] # Match 可能為HDQhdq中任一個字元" & @CRLF & _
" 2 # Match 數字 2" & @CRLF & _
" \d{8} # Match 任意數字長度限定為8" & @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