linux的正则表达式定位符^的用法解惑

问题遇到的现象和发生背景

请看代码,^3 the 是正则表达式,表示以3 the为开头的内容,sed后面加不加-r,结果都一样,为什么不加-r,也能正确解析正则表达式^3 the ?

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
[root@localhost home]# echo "3 the hahaha" |sed -n "/^3 the/c\123456" 
123456
[root@localhost home]# echo "3 the hahaha" |sed -n -r "/^3 the/c\123456" 
123456
运行结果及详细报错内容

请看代码,^3 the 是正则表达式,表示以3 the为开头的内容,sed后面加不加-r,结果都一样,为什么不加-r,也能正确解析正则表达式^3 the

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

请看代码,^3 the 是正则表达式,表示以3 the为开头的内容,sed后面加不加-r,结果都一样,为什么不加-r,也能正确解析正则表达式^3 the

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

在sed中,该-r选项用于指定应使用扩展的正则表达式。符号是正则表达式中的^特殊字符,用于匹配一行的开头。

在这种情况下,无论是否使用该选项,该sed命令都可以正常工作,因为正则表达式不需要任何扩展的正则表达式语法。它只需要基本的正则表达式语法,默认支持。-r^3 thesed

因此,即使不指定该-r选项,该sed命令仍然能够正确解析正则表达式^3 the并执行请求的操作。

-r :sed 的动作支持的是延伸型正则表示法的语法 ^(.)$ 。(预设是基础正则表示法语法 ^\(.)$)

-r 指定后面的规则可以使用正则表达式的方式进行匹配

这个其实是简化正则的一种啊,
sed不加-r参数也能正确解析正则表达式^3 the,这是因为sed默认使用简化的正则表达式,
而^3 the 是简化正则表达式的一种,所以无需加-r参数也能正确解析。