2015-06-22 2 views
1

Привет надеюсь, следующий код:питон регулярное выражение не заканчивается с некоторыми символами

content ="'Yoda' :" 
content = re.sub("\w\s*'\s*[^:]", "", content) 
print content 

распечатку: «Yoda»: но напечатанное «Йод: Мое намерение: если строка, не заканчивающаяся: затем замените ее пустой строкой, если она заканчивается на: затем ничего не делать. но вышеупомянутое регулярное выражение все еще заменяло его. Как я могу изменить регулярное выражение, пожалуйста. Заранее спасибо.

ответ

3

В конце вашего регулярного выражения вам понадобится якорь $, который указывает конец строки.

>>> content ="'Yoda' :" 
>>> content = re.sub("\w\s*'\s*[^:]$", "", content) 
>>> print (content) 
'Yoda' : 

Но вы можете сделать эту задачу без регулярных выражений и только с str.endswith():

content ="'Yoda' :" 
if not content.endswith(':'): 
    content='' 
else: 
    pass 
Смежные вопросы