4 ~ 8 個の数字のシーケンスを許可する reg 式を使用していますが、最初の 2 つと最後の 2 つを同じにすることはできません。
例えば
1245612 - 一致を含む
346731 - 一致なし
789287 - 一致なし 789278 - 一致
を含む
4 ~ 8 個の数字のシーケンスを許可する reg 式を使用していますが、最初の 2 つと最後の 2 つを同じにすることはできません。
例えば
1245612 - 一致を含む
346731 - 一致なし
789287 - 一致なし 789278 - 一致
を含む
最初の 2 桁と最後の 2 桁を同じにして一致させたい場合 (例ではこれが示唆されています)、正規表現^(\d\d)\d{0,4}\1$
が適切です。
例の正規表現については、 http://regexr.com?33uuuを参照してください。
説明した内容が実際に必要な場合 (最初の 2 桁と最後の 2 桁が一致しないようにするため)、次のようにすることができます。
(?!(\d\d)\d{0,4}\1)\d{4,8}
式の最初の部分は、 [2 桁の数字][0 から 4 桁の間][同じ 2 桁の数字] という形式の式に一致しないことを主張し、それ以外は、長さ4~8。
この正規表現を実際に試してみてください (Javascript スタイルの正規表現を使用):
http://regexpal.com/?flags=g®ex=(%3F!(%5Cd%5Cd)%5Cd%7B0%2C4%7D%5C1)%5Cd%7B4%2C8%7D&input=3366
このタスクでは、正規表現は必要ないか、このタスクを理解していません。U は、i[0] と i[1] を i[n] と i[n-1] と比較するだけで済みます。