gpt4 book ai didi

regex - 使用 AWK 将字符串用正斜杠括起来

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:08 25 4
gpt4 key购买 nike

我有一个 php 文件,其中广泛使用了 split() 函数。我使用 sed 和 find 命令将它替换为 preg_split。现在的问题是 preg_split 需要将正则表达式模式包含在定界符中,而 split 不需要它。

我曾尝试使用 SED 来用定界符将字符串括起来,但据我所知,SED 无法做到这一点。我已经知道 AWK kan 可以解决这个问题。

我要

 preg_split('\r\n', $some_string); 

修改为

 preg_split('/\r\n/', $some_string);

正斜杠用作分隔符。这如何使用 AWK 完成?

最佳答案

sed 完全可以做到这一点。

sed "s:\(preg_split('\)\(([^']*\)':\1/\2/':g" file.php

您的 sed 方言可能需要不同的反斜杠组合;或使用 Perl(或者,呃,PHP);

perl -pi~ -e "s:(preg_split\(')([^']*)':$1/$2/':g" file.php

(注意用于就地编辑的 -i 标志;也许您的 sed 也支持它?)

我想你的问题是引用而不是实际的 sed 正则表达式。在 shell 中正确引用单引号可能是一个挑战。 (在最坏的情况下,将您的 shell 脚本放在一个文件中,这样 shell 就看不到它。)当然,使用不同的定界符而不是斜线会使表达式更简单。

关于regex - 使用 AWK 将字符串用正斜杠括起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23277924/

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