gpt4 book ai didi

regex - sed 中的正则表达式用于在一个语句中进行多次替换

转载 作者:行者123 更新时间:2023-12-03 09:16:29 25 4
gpt4 key购买 nike

我想清理一些输入并用可接受的输入替换几个字符,例如丹麦人' å ' 与 ' aa '。

这可以使用多个语句轻松完成,例如/æ/ae/ , /å/aa/ , /ø/oe/ ,但由于工具限制,我希望能够在单个正则表达式中执行此操作。

我可以捕获所有相关案例( /[(æ)(ø)(å)(Æ)(Ø)(Å)]/ ),但我的替换无法按我希望的那样工作(但可能完全按预期工作):

 $ temp="RødgrØd med flæsk"

$ echo $temp
RødgrØd med flæsk

$ echo $temp | sed 's/[(æ)(ø)(å)(Æ)(Ø)(Å)]/(ae)(oe)(aa)(Ae)(Oe)(Aa)/g'
R(ae)(oe)(aa)(Ae)(Oe)(Aa)dgr(ae)(oe)(aa)(Ae)(Oe)(Aa)d med fl(ae)(oe)(aa)(Ae)(Oe)(Aa)sk

(第一条回声线是为了表明它不是编码问题)

顺便说一句,工具问题是我还想在 Sublime Text 2 snippet 中使用相同的正则表达式.

任何人都能够看出我的正则表达式有什么问题?

提前致谢。

最佳答案

把它分成几个 sed语句,由 ; 分隔:

sed 's/æ/ae/g;s/ø/oe/g;s/å/aa/g;s/Æ/Ae/g;s/Ø/Oe/g;s/Å/Aa/g'

关于regex - sed 中的正则表达式用于在一个语句中进行多次替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14135027/

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