1 .h, .hpp, .hxx = ^\s*(?:class|struct)\s+([\w]+)|^\s+(?:\w+\s+)*([\w]+)\s*\(|^#define\s+(\w+)
\r
2 .cpp, .c, .cxx, .cc = \s(?:[\w]+)::([\w]+)|[ \t:.>]([\w]+)\s?\([\w\s,.)]*\);|^#\s*define\s+(\w+)
\r
3 .js = (?:(?:prototype\.|this\.)(\w+)\s*=\s*)?function\s*(?:(\w*)\s*)\(
\r
4 .pas = (\w+)\s+=\s+(?:class|record|interface)|(?:procedure|function|property|constructor)\s+(\w+)
\r
5 .py, .pyw, .rb = ^\s*(?:class|def)\s+(\w+)
\r
6 .pl, .pm, .cgi = ^\s*sub\s+(\w+)|\s*(?:package|use)\s+([\w\:]+)
\r
7 .php = ^\s*class\s+(\w+)|^\s*(?:(?:public|private)?\s+function)\s+(\w+)|::(\w+)|->(\w+)
\r
8 .vb, .vb6 = (?:class|function|sub)\s+(\w+)(?:\s*(?:[\(\']|$))
\r
9 .bas, .frm, .cls = ^\s*(?:(?:Public (?:Default )?|Private )?(?:Sub|Function|Property Get|Property Set|Property Let) ?)(\w+)\(|^Attribute VB_Name = "(\w+)"
\r
10 .cs, .asp, .aspx = (?:public|protected|private|internal)\s+(?:[\w.]+\s+)*([\w.]+)
\r
11 .java = (?:public|protected|private|internal)\s+(?:[\w.]+\s+)*([\w.]+)|class\s+([\w]+)(?:(?:\s+)?(?:extends|implements)(?:\s+)?([\w]+)?)
\r
12 .cbl, .cpy = ^.{6} ([A-Z][A-Z0-9-]*)(?: SECTION)?\.
\r
13 .au3, .auh = Func\s+([\w]+)|\$([\w]+)
\r
15 .sd = ^\s*(?:procedure|function)\s+(\w+)
\r
16 .ps1 = ^\s*(?:function)\s+(\w+[\w\-]*)
\r
17 .bat = ^\:(\w+)|^set\s+(\w+)
\r
18 .build = \sname\s*=\s*\"(\w+)\"
\r
19 .xaml = \sname\s*=\s*\"(\w+)\"
\r