Regex 我们可以使用正则表达式在不同的索引处合并字符吗

Regex 我们可以使用正则表达式在不同的索引处合并字符吗,regex,bash,Regex,Bash,例如,这里是一个字符串输入: D8DB2F1F0F21R123 我们需要在索引处提取字符(假设起始索引为0):4,8,6,1,即:'2'、'0'、'1'、'8'并对其进行压缩。 最终输出应为:2018 仅通过正则表达式,我们能否实现上述预期结果?使用: 你使用linux吗?windows?^。{2}()但我建议您不要使用regex。感谢@GillesQuenot纠正错误,对于您的问题,它是针对linux的。@anubhava:regex的原因是将解析字符串的自由扩展到最终用户,而服务端只是计算

例如,这里是一个字符串输入:

D8DB2F1F0F21R123
我们需要在索引处提取字符(假设起始索引为0):4,8,6,1,即:'2'、'0'、'1'、'8'并对其进行压缩。 最终输出应为:
2018

仅通过正则表达式,我们能否实现上述预期结果?

使用:


你使用linux吗?windows?
^。{2}(
)但我建议您不要使用regex。感谢@GillesQuenot纠正错误,对于您的问题,它是针对linux的。@anubhava:regex的原因是将解析字符串的自由扩展到最终用户,而服务端只是计算正则表达式以获得所需的结果。@ctwheels:我也尝试过类似的方法::^.{4}(…)(…),但难以反向遍历以获取最后所需的数字。
$ x=D8DB2F1F0F21R123
$ echo ${x:4:1}${x:8:1}${x:6:1}${x:1:1}
2018