2024-05-18 05:37:11 发布
网友
我在一个不使用Perl的项目中工作,我希望保持一致性。这就是为什么我想知道是否可以用Python one liner轻松地将这个方便的Perl one liner替换为Python one liner:
perl -pe 's/pattern/replacement/g' <<< 'expression'
这个程序一次从STDIN读取一行,用字符串replacement替换正则表达式pattern的所有匹配项,并将(可能)修改过的行输出到STDOUT。在
replacement
pattern
您可以使用-c命令行选项运行re.sub,但它不会像perl那样漂亮:
-c
re.sub
perl
python -c 'import re;print(re.sub(r"<pattern>", "<replacement>", "<string>"))'
如果您还想从STDIN获取输入,则需要sys.stdin,这也意味着import-ingsys:
sys.stdin
import
sys
例如:
% 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
您可以使用
-c
命令行选项运行re.sub
,但它不会像perl
那样漂亮:如果您还想从STDIN获取输入,则需要
^{pr2}$sys.stdin
,这也意味着import
-ingsys
:例如:
相关问题 更多 >
编程相关推荐