python2.4中的regex

2024-09-30 16:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中有一个字符串,如下所示:

"\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"

我想把绳子

^{pr2}$

我认为使用regex可以做到这一点,但还不能实现。请给我个主意。在


Tags: 字符串regexb1主意绳子pr2b1xxa1xxmdl1zzinoaerozzmofin
3条回答

如果字符串的所需部分始终位于\字符的RHS上,则可以使用:

string = "\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"
string.rpartition("\\")[2]

输出='B1xxA1xxMdl1zzInoAEROzzMofIN'

st = "\B1\B1xxA1xxMdl1zzInoAEROzzMofIN"
s = re.sub(r"\\","",st)
idx = s.rindex("B1")
print s[idx:]

输出='B1xxA1xxMdl1zzInoAEROzzMofIN'

或者

^{pr2}$

输出='B1xxA1xxMdl1zzInoAEROzzMofIN'

试试看:

import re
s = "\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"
s = re.sub(r"\\[^\\]+\\","", s)
print s

http://py-ide-online.appspot.com上测试(但无法找到共享的方法)

[编辑]要了解一些解释,请查看Python regex documentation page和这个SO问题的第一个注释:

How to remove symbols from a string with Python?

因为使用方括号[]可能很棘手(IMHO)

在本例中,[^\\]表示除两个反斜杠之外的任何内容\\。在

因此[^\\]+表示一个或多个字符,它只匹配两个反斜杠\\。在

相关问题 更多 >