-5
所以如果我有一个字符串 randomwordabcrandomwordsxyzrandomwords
并且想要提取abcrandomwordsxyz
这将如何实现,abc和xyz是常量。我对python很陌生,所以任何简单的东西都会非常感激。提取字符串的一部分
所以如果我有一个字符串 randomwordabcrandomwordsxyzrandomwords
并且想要提取abcrandomwordsxyz
这将如何实现,abc和xyz是常量。我对python很陌生,所以任何简单的东西都会非常感激。提取字符串的一部分
怎么样使用正则表达式:
一个办法:
>>> 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'
>>>
这里是你的答案:
import re
mystring = 'randomwordabcrandomwordsxyzrandomwords'
result = ""
regex = re.match(r'.*?(abc.*?xyz).*?$',mystring)
if regex:
result = regex.group(1)
print result