これを試して:
<?php
$reg = "#S\d{1,2}E\d{1,2}#";
$tests = array('S11E22', 'S1E2', 'S11E2', 'S1E22', 'S111E222', 'S111E', 'SE', 'S0E0');
foreach ($tests as $test) {
echo "Testing $test... ";
if (preg_match($reg, $test)) {
echo "Match!";
} else {
echo "No Match";
}
echo "\n";
}
出力:
Testing S11E22... Match!
Testing S1E2... Match!
Testing S11E2... Match!
Testing S1E22... Match!
Testing S111E222... No Match
Testing S111E... No Match
Testing SE... No Match
Testing S0E0... Match!
説明:
$reg = "#S\d{1,2}E\d{1,2}#";
^ ^ ^ ^ ^ ^
| | | | | |
Match S | | | | One or two times
Match digit | | Match a digit
One or two times Match the letter E
編集
オプションで、次のようなものでこれを行うことができます
$reg = '#S\d\d?E\d\d?#';
つまり、Sの後に数字が続き、場合によっては別の数字が続く?
...などです。