gpt4 book ai didi

python - Perl 中 $1 的 Python 等价物是什么,或者正则表达式中的任何其他特殊变量?

转载 作者:太空狗 更新时间:2023-10-30 01:49:16 25 4
gpt4 key购买 nike

我刚刚从 Perl 切换到 Python,对 re 模块感到失望。我正在寻找相当于 Python 中的 $1 或正则表达式中的任何其他特殊变量。在 Perl 中我会使用这个:
$_ = <code>"<name>Joe</name>";</code>
s/<(.<em>)>(.</em>)<<code>[/]</code>(.*)>/$2/;
我正在尝试在 Python 中做同样的事情。谢谢!

最佳答案

您还可以在 Python 中的反向引用或匹配组中使用 \2

例如:

>>> re.sub(r'(\w+) (\w+)',r'\2 \1','Joe Bob')
'Bob Joe'

或命名替换(后来移植到 Perl 的 Python 创新):

>>> re.sub(r'(?P<First>\w+) (?P<Second>\w+)',r'\g<Second> \g<First>','Joe Bob')
'Bob Joe'
>>> ma=re.search(r'(?P<First>\w+) (?P<Second>\w+)','George Bush')
>>> ma.group(1)
'George'
>>> ma.group('Second')
'Bush'

但是,诚然,与最近的 Perl 相比,Python 的 re 模块有点弱。

对于一流的正则表达式模块,安装较新的 regex module .它由 Python 3.4 的一部分安排,非常好。

关于python - Perl 中 $1 的 Python 等价物是什么,或者正则表达式中的任何其他特殊变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11911391/

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