Bash字符串正则表达式替换为“。*”

时间:2013-11-25 07:22:12

标签: regex bash

表示字符串

s='abc_somedef'

使用正则表达式替换(它有效)

echo ${s//_some/}

使用正确的替换 .* (它不起作用)

echo ${s//^.*_some/}

我希望结果为def

我是如何在内部使用bash编写的(不是sed / awk)?也许是一些逃避炭?

1 个答案:

答案 0 :(得分:1)

使用此:

echo ${s//*_some/}

你的版本不匹配,因为它试图按字面匹配一个点。

<强>更新

Chepner在下面正确地解释了*这里根本不是正则表达式的一部分。它只是被用作一个通配符。