簡體   English   中英

重擊字符串正則表達式替換為“。*”

[英]Bash string regex replace with “.*”

對於一個字符串

s='abc_somedef'

使用正則表達式替換(有效)

echo ${s//_some/}

使用正則表達式替換為.* (不起作用)

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

我希望結果是def

我如何在內部用bash編寫它(而不是sed / awk)? 也許一些逃逸字符?

用這個:

echo ${s//*_some/}

您的版本不匹配,因為它試圖按字面意義匹配點。

更新:

Chepner在下面正確地解釋了*這里根本不是正則表達式的一部分。 它只是被用作通配符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM