我使用python和正則表達式來嘗試提取可選的字符串中間。找到可選中間的字符串包圍懶惰,正則表達式
>>> re.search(r'(.*?)(HELLO|BYE)?(.*?END)', r'qweHELLOsdfsEND').groups()
('', None, 'qweHELLOsdfsEND') #what I want is ('qwe', 'HELLO', 'sdfsEND')
>>> re.search(r'(.*?)(HELLO|BYE)?(.*?END)', r'qweBLAHsdfsEND').groups()
('', None, 'qweBLAHsdfsEND') #when the middle doesn't match. this is OK
我怎樣才能提取可選的中間?
注意:這是我的第一篇文章。
是的,可以解決我的問題!我以前沒有遇到過(?!)。 – chobok
看看這個[教程](http://www.regular-expressions.info/lookaround.html)。 Lookaround是一個很棒的功能。 –
這是和優秀的教程。真的很好寫和全面。謝謝 – chobok