Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将此perl替换转换为python_Python_Regex_Perl_Python 2.7 - Fatal编程技术网

将此perl替换转换为python

将此perl替换转换为python,python,regex,perl,python-2.7,Python,Regex,Perl,Python 2.7,我正在尝试将一些perl代码移植到python。不精通perl是一个挑战,但我已经完成了大部分工作。然而,有一个函数执行一个单词替换,我不知道是否有直接的python等价物 $my_string =~ s/^(.*?) \(The\)$/The $1/; $my_string=~ s/\bL\.? ?L\.? ?C\.?\b//; $my_string =~ s/[(),]//g; 我想我可以用一些东西,比如: re.sub('s/^(.*?) \(The\)$', '$/The 1/', m

我正在尝试将一些perl代码移植到python。不精通perl是一个挑战,但我已经完成了大部分工作。然而,有一个函数执行一个单词替换,我不知道是否有直接的python等价物

$my_string =~ s/^(.*?) \(The\)$/The $1/;
$my_string=~ s/\bL\.? ?L\.? ?C\.?\b//;
$my_string =~ s/[(),]//g;
我想我可以用一些东西,比如:

re.sub('s/^(.*?) \(The\)$', '$/The 1/', my_string)
对于第一个样本,但我对其他样本一无所知


感谢您的帮助。

您需要删除此处的
s/
/
部分,并使用
\1
作为反向参考。使用原始字符串可使此操作可行:

my_string = re.sub(r'^(.*?) \(The\)$', r'The \1', my_string)
my_string = re.sub(r'\bL\.? ?L\.? ?C\.?\b', '', my_string)
my_string = re.sub(r'[(),]', '', my_string)
默认情况下,这些替换是“全局的”(与
g
标志的功能相同);如果需要限制,请添加整数计数作为第四个参数:

my_string = re.sub(r'^(.*?) \(The\)$', r'The \1', my_string, 1)
my_string = re.sub(r'\bL\.? ?L\.? ?C\.?\b', '', my_string, 1)
my_string = re.sub(r'[(),]', '', my_string)

您需要删除此处的
s/
/
部分,并使用
\1
作为反向引用。使用原始字符串可使此操作可行:

my_string = re.sub(r'^(.*?) \(The\)$', r'The \1', my_string)
my_string = re.sub(r'\bL\.? ?L\.? ?C\.?\b', '', my_string)
my_string = re.sub(r'[(),]', '', my_string)
默认情况下,这些替换是“全局的”(与
g
标志的功能相同);如果需要限制,请添加整数计数作为第四个参数:

my_string = re.sub(r'^(.*?) \(The\)$', r'The \1', my_string, 1)
my_string = re.sub(r'\bL\.? ?L\.? ?C\.?\b', '', my_string, 1)
my_string = re.sub(r'[(),]', '', my_string)

@Blender:是的,修复了。注意Python的
re.sub
默认为全局(the/g)。如果只想替换第一项,请指定count=1。@Blender:yup,已修复。注意Python的
re.sub
默认为全局(the/g)。如果只想替换第一项,请指定count=1。