2015-08-15 2 views
0

у меня есть: имена функций в различных гр файлы в следующем формате:Python Regex не извлекая имя функции из строки

void function0__ROM(void) { 
    code for the function 
    } 
void function1__ROM(void) { 
    code for the function 
    } 

Я написал Regex в Python для извлечения имен функций, но почему-то не работает ,

Ниже мой Regex:

match= re.search("\n\s*?(void|BYTE|WORD|bit)(\s*?\*\s*?)?\s+?)?\s+\?(" +func.name[l:]+ ")(__ROM)?\s*?\(.*?\)s*?[{]".file) 

Я новичок в Python, после того, как много исследования написал эту Regex, но почему-то не работает.

ответ

0
r"\s*(void|BYTE|WORD|bit)\s+"+func.name[1:]+"__ROM\s*\([^\)]*\)\s*{?\s*" 
  • один из слов
  • имя функции
  • кронштейн
  • все, что не скобка
  • ) пространств и возможно {
+0

Регулярное выражение работает большую часть времени. но для строк, таких как: WORD function0__ROM (WORD time) {он не работает – Linocomp

+0

Я добавил \ s * в конец регулярного выражения (возможные пробелы в конце строки). Дайте мне знать, если все в порядке. – Andrew

+0

nope. как-то он не работает. :( – Linocomp