正規表現で番号を追加する
新しいタイプの正規表現ゴルフチャレンジを試してみたいと思います。これは、正規表現の置換だけで、自明ではない計算タスクを解決するように求めます。これを可能にし、面倒な作業を少なくするために、次々にいくつかの置換を適用できます。 チャレンジ 簡単に始めましょう。2つの正の整数を含む文字列を、a ,で区切られた10進数として指定すると、合計も10進数としても含む文字列が生成されます。だから、非常に簡単に 47,987 になるはずです 1034 あなたの答えは、任意の正の整数に対して機能するはずです。 フォーマット すべての答えは置換ステップのシーケンスである必要があり、各ステップは正規表現と置換文字列で構成されます。オプションで、シーケンス内のこれらの各ステップについて、ストリングの変更が停止するまで置換を繰り返すことを選択できます。以下に送信例を示します(上記の問題は解決しません)。 Regex Modifiers Replacement Repeat? \b(\d) g |$1 No |\d <none> 1| Yes \D g <empty> No inputが与えられると123,456、このサブミッションは入力を次のように処理します。最初の置換が1回適用され、次のようになります。 |123,|456 これで、ストリングの変更が停止するまで、2番目の置換がループで適用されます。 1|23,|456 11|3,|456 111|,|456 111|,1|56 111|,11|6 111|,111| 最後に、3番目の置換が1回適用されます。 111111 ループの終了基準は、正規表現が一致を検出したかどうかではなく、文字列が変更されたかどうかであることに注意してください。(つまり、一致するものが見つかっても置換が一致する場合にも終了する可能性があります。) 得点 プライマリスコアは、提出の代替ステップの数になります。置換が繰り返されるたびに、10ステップがカウントされます。したがって、上記の例ではスコアが付けられ1 + 10 + 1 = 12ます。 タイの(あまりありそうにない)ケースでは、2次スコアはすべてのステップのサイズの合計です。各ステップで、正規表現(区切り文字なし)、修飾子、置換文字列を追加します。上記の例では、これはになります(6 + 1 + …