数字フィールドの前または数字フィールドの直後に英数字フィールドの前に改行を挿入する

数字フィールドの前または数字フィールドの直後に英数字フィールドの前に改行を挿入する

この行があります。

word1 word2 1234 4567 word3 8901 word4 word5 2541 5142 word5

数字フィールドの前または数字フィールドの後の英数字フィールドの前に改行文字が挿入されるように、この行を分割したいと思います。その後、出力は次のようになります。

word1 word2
1234
4567
word3
8901
word4 word5
2541 
5142 
word5

すべての英数字フィールドは文字で始まります。

ベストアンサー1

英数字の単語の間のスペースを保持し、他のすべての単語を改行文字に変換したいように聞こえます。

perl -pe 's{([^\d\s]\S*\s+)(?=\S*[^\d\s])|\s+}{$1//"\n"}ge'

おすすめ記事