提取字符串的一部分

2024-05-03 15:13:22 发布

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

如果我有一根绳子 randomwordabcrandomwordsxyzrandomwords并想提取abcrandomwordsxyz如何实现这一点,abc和xyz是常量。我对python非常陌生,所以任何简单的东西都会非常感激。你知道吗


Tags: abc常量xyz绳子陌生abcrandomwordsxyzrandomwordabcrandomwordsxyzrandomwords
2条回答

以下是您的答案:

import re

mystring = 'randomwordabcrandomwordsxyzrandomwords'
result   = ""

regex = re.match(r'.*?(abc.*?xyz).*?$',mystring)

if regex:
    result = regex.group(1)

print result

使用regex怎么样:

单向:

>>> import re
>>> s = 'randomwordabcrandomwordsxyzrandomwords'
>>> m = re.search('(abc.*?xyz)', s)
>>> m.group()
'abcrandomwordsxyz'
>>>

或:

>>> re.findall('abc.*?xyz', s)
['abcrandomwordsxyz']
>>>

如果有多个“xyz”,那么它将与第一个匹配。(非贪婪匹配)

最后一个不是一个好方法,但只是一个选择:

>>> s[s.rfind('abc'):s.rfind('xyz')+3]
'abcrandomwordsxyz'
>>>

相关问题 更多 >