$re = '/[HDQhdq]2\d{8}/';
$str = '# 配對身分證字號,用台灣縣市與男女做範例
# 題目說明區塊
請幫我找出桃園縣(H), 台南市(D), 嘉義縣(Q)中為女生的身分證字號
#欲測試資料集
A121040176
L186856359
Z127598010
I114537095
D279884447
L186834359
D243736345
I114537095
Q146110887
D187217314
I114537095
Q243556025
Z127598010
H250077453
Q188367037
# 應配對結果(亮色區塊)
D279884447
D243736345
Q243556025
H250077453
# (選項)寫上註解,好好說明你怎麼想的
就直覺想到就這樣寫了@@
# (選項)將你的 Regex 註解起來,使用 Extended Formating
/
[HDQhdq] # Match 可能為HDQhdq中任一個字元
2 # Match 數字 2
\\d{8} # Match 任意數字長度限定為8
/
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php