-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