这个sed表达式出了什么问题?

$echo "104_Fri" | sed 's/^\([0-9]+\)_\([A-Za-z]+\)$/\1;\2/'
104_Fri

我想匹配开头的数字和结尾的字母 – 每个都作为一个组.之后我想输出第一组,分号,然后输出第二组.

我希望这个表达式能够产生:

104;Fri

为什么这不起作用?

最佳答案
你也必须逃避加号:

$echo "104_Fri" | sed 's/^\([0-9]\+\)_\([A-Za-z]\+\)$/\1;\2/'
104;Fri

转载注明原文:这个sed表达式出了什么问题? - 代码日志