我是Python regex的新手,并没有找到足够的信息来说明如何在Python中执行此操作
的Perl:
my $a="some pattern";
my $b="some other pattern";
my $str =~ s/\s*$a\s+\-\-\>\s+$b/ $b/;
$ a和$ b更改,并且需要替换特定字符串。 知道怎么用Python做到这一点吗?
答案 0 :(得分:2)
import re
a = "some pattern"
b = "some other pattern"
# Create the regular expression. '-' and '>' don't need escaping
pattern = re.compile(r'\s*' + a + '\s+-->\s+' + b)
# 'str' is a poor variable name in Python; it hides a built-in
result = pattern.sub(' ' + b, result)
虽然我真的不知道你怎么找不到足够的信息,但假设你真的了解了正则表达式是如何运作的。你看过文件了吗?
没有相当于Perl的/ o标志;如果你想编译一个正则表达式并重新使用它,那么......就是这么做的;使用pattern
的范围进行游戏,以便re.compile
行只运行一次。