gpt4 book ai didi

regex - 将匹配的值传递给函数,并替换为返回值

转载 作者:行者123 更新时间:2023-11-29 09:23:44 25 4
gpt4 key购买 nike

我如何让 Bash 匹配正则表达式,而不是用常量字符串替换值,而是将匹配的值传递给函数,然后从返回值中获取要替换的值功能。

类似于下面的伪代码,它将 [a-d] 的每个匹配替换为相同的字符,但大写:

function uppercase() { echo ${1^^}; }
string="abcdefgh123cbazyz"
echo ${string//[a-d]/uppercase()}
# output: ABCDef123CBAzyz

我并不特别,任何通常安装在 Unix 系统上的语言(例如 sedawk,甚至 中内置的有限正则表达式支持>bash) 可以使用。

最佳答案

Bash 不能在内部使用用户定义的函数 parameter expansion .

要完成您想要的,请使用 pattern matching大小写修改:

string="abcdefgh123cbazyz"
echo ${string^^[a-d]}

输出:

ABCDefgh123CBAzyz

关于regex - 将匹配的值传递给函数,并替换为返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25241413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com