PCRE v8.42 を使用して、正規表現を名前付きサブルーチンに抽象化しようとしていますが、サブルーチン内にある場合、動作が異なるようです。
これは出力します10/
:
echo '10/' | pcregrep '(?:0?[1-9]|1[0-2])\/'
これは何も出力しません:
echo '10/' | pcregrep '(?(DEFINE)(?<MONTHNUM>(?:0?[1-9]|1[0-2])))(?&MONTHNUM)\/'
これら 2 つの正規表現は同等ではありませんか?