S is constructed with the following process:
- Start with
Sbeing the empty string.
- Insert at some position of
Sa string of the form
dis a nonzero digit and
sis a string of
dlowercase ASCII letters. We say
dsis a constituent of
- Go to step 2 or stop.
Your task is to take such a string as input, and output its constituents concatenated into a single string, in the order of appearance of their leading digits. The output must be a single string, and there can't be any delimiters (including newlines) between the constituents. You can choose whether the input and output strings have quotes. Note that the input and output will never be empty.
Let's construct a string with the above process. The structure of the constituents is highlighted in the final result.
S = "" // Insert "3abc" S = "3abc" // Insert "2gh" after 'a' S = "3a2ghbc" // Insert "1x" before '3' S = "1x3a2ghbc" // Insert "3tty" after '3' S = "1x33ttya2ghbc" // Final result └┘│└┴┴┘│└┴┘││ └────┴───┴┘
The output is obtained by concatenating the constituents in the order of their digits. In this case, the correct output is
Rules and scoring
You can write a full program or a function. the lowest byte count wins, and standard loopholes are disallowed.
1k -> 1k 4asdf -> 4asdf 111xyz -> 1z1y1x 8whatever3yes -> 8whatever3yes 8what3yesever -> 8whatever3yes 1x33ttya2ghbc -> 1x3abc3tty2gh 63252supernestedstrings2ok -> 6trings3eds2st5perne2su2ok 9long3yes4lo2ngwords11here -> 9longrdsre3yes4lowo2ng1e1h 9abc8de7fg6hi5jk4lm3o2pq1rstuvwxyzabcdefghijklmnopqrst -> 9abcopqrst8deijklmn7fgdefgh6hizabc5jkwxy4lmuv3ost2pq1r