gpt4 book ai didi

regex - Perl - 用正则表达式上的任意操作替换正则表达式匹配

转载 作者:行者123 更新时间:2023-12-04 23:09:21 27 4
gpt4 key购买 nike

我的 Perl 脚本中有以下行:

s/\b(\w+)\b/ $replaces{$1} ? $replaces{$1} : $1 /g;

我想找到字符串中的所有单词,如果该单词在已知单词的数组中,则替换它,否则保留它(理想情况下,我想对匹配进行任意操作,而不仅仅是三元运算符)。

为此,我尝试使用三元运算符。 Perl 对待 ?和 : 作为文字符号,并将它们与变量(如果已定义)连接起来。

我如何让 Perl 将 ?: 替换为三元运算符?

P.S:我知道我可以在下一行代码中对 match 执行操作,但为了清楚起见,我想将其保留为一行。

最佳答案

您需要“e”(执行)限定符:

s/\b(\w+)\b/ $replaces{$1} ? $replaces{$1} : $1 /ge;

关于regex - Perl - 用正则表达式上的任意操作替换正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4474850/

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