2013-05-25 2 views
1

Я пытаюсь создать парсер, который будет сканировать весь текст для строк, начинающихся с «ACTIE» или «TODO», после чего он возвращает остальную часть строки, кроме слово в началеPython RegEx целая строка, начинающаяся с заданного слова

Пример:

Это пример текста
Actie это должно быть возвращено
более текста и т.д.

должен возвращать:

это должно быть возвращено

Регулярное выражение я создал до сих пор:

\s*(\bACTIE|TODO\b) ([^\n\r]*) 

который возвращает как Actie и линии после него, как два удара:

ACTIE, это должно быть возвращено

Есть ли способ, чтобы я мог отказаться от «ACTIE» или «TODO» в начале и только вернуть его обратно?

ответ

3

Использование не-захвата группы:

\s*(?:\bACTIE|TODO\b) ([^\n\r]*) 
+0

+1 (NVM выбежала голосов), но '[^ \ п \ г]' может быть изменен на '.' – jamylak

+0

спасибо, что работает – Swan

+0

@jamylak Но '\ r' будет захвачен ... – JBernardo