^[ ]*(((public|private|protected|static|final|abstract)[ ]+)*function.*)$ ^[ ]*((((final|abstract)[ ]+)?class|enum|interface|trait).*)$