note
ikegami
<code>
(?(?{code}true-regexp)
(?(?{code}true-regexp|false-regexp)
/
B
(\d\d)
(?
(?{ $1 < 38 || $1 > 49 }) # if invalid
(?=A)(?=Z) # then fail
# else succeed
)
/x
</code>
<p>It could also have been written:</p>
<code>
/
B
(\d\d)
(?(?{ $1 >= 38 && $1 <= 49 }) # if valid
# succeed
| # else
(?=A)(?=Z) # fail
)
/x
</code>
<p><code>(?=A)(?=Z)</code> means the next char must be an 'A' and must be a 'Z'. That's never gonna happen.</p>
402358
402728