python中的等价perl正则表达式

时间:2015-04-06 23:14:53

标签: python regex perl

Perl使用$`返回匹配字符串之前的所有内容和$'返回匹配字符串后的所有内容。我想知道是否有类似的python或任何工作来获得它。谢谢

2 个答案:

答案 0 :(得分:1)

只需使用re.split命令根据特定正则表达式拆分输入,然后在返回列表的索引0和索引1匹配后的字符串匹配之前获取字符串。

>>> word = 'foo'
>>> re.split(re.escape(word), 'barfoobuz', maxsplit=1)
['bar', 'buz']

通过添加maxsplit=1参数,上述re.split函数将根据与给定模式匹配的字符进行一次拆分。

答案 1 :(得分:1)

如果您从MatchObject操作的结果中收集search,则可以使用其内容为Perl的$`和{{1}构建等效的子字符串}

喜欢这个

$'

<强>输出

import re

ss = '123/abc'

match = re.search('/', ss)

print ss[:match.start()]
print match.group()
print ss[match.end():]