我有一个字符串,例如“ a-bd-dgd.16.4.8-123-34-67dd-.ddsfd”,我想从数字开始到结束之间。
所以我需要使用sed或regex的16.4.8-123-34-67。
我尝试-
echo "a-bd-dgd.16.4.8-123-34-67dd-.ddsfd" | sed 's/[^0-9.-]//g' | sed 's/[^0-9]*.$//g'
答案 0 :(得分:0)
这应该做:
echo "a-bd-dgd.16.4.8-123-34-67dd-.ddsfd" | sed -r 's/[^0-9]*([0-9].*[0-9])[^0-9]*/\1/'
16.4.8-123-34-67
[^0-9]*
标记所有非数字([0-9].*[0-9])
使一组所有数据以一个数字开头,以一个数字结尾[^0-9]*
其余的非数字数据\1
指向捕获的组中的数据。