gpt4 book ai didi

python - 如何用 Python 单行替换 Perl 单行正则表达式?

转载 作者:太空宇宙 更新时间:2023-11-03 23:53:25 25 4
gpt4 key购买 nike

我从事的项目未使用 Perl,但我希望保持一致性。这就是为什么我想知道我是否可以轻松地将这个方便的 Perl 单行代码 替换为 Python 单行代码:

perl -pe 's/pattern/replacement/g' <<< 'expression'

此程序一次从 STDIN 读取一行,用字符串 replacement 替换正则表达式 pattern 的所有匹配项,并将(可能)修改的行输出到 STDOUT .

最佳答案

您可以使用 -c 命令行选项运行 re.sub,但它不会像 perl 那样漂亮:

python -c 'import re;print(re.sub(r"<pattern>", "<replacement>", "<string>"))'

如果你也想从 STDIN 获得输入,你需要 sys.stdin 并且这也意味着 import-ing sys:

python -c 'import re,sys;print(re.sub(r"<pattern>", "<replacement>", sys.stdin.read()))' <<< '<string>'

所以,例如:

% python -c 'import re;print(re.sub(r"foo", "bar", "foobar"))'
barbar

% python -c 'import re,sys;print(re.sub(r"foo", "bar", sys.stdin.read()))' <<< 'foobar'
barbar

关于python - 如何用 Python 单行替换 Perl 单行正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58608239/

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