The regular expression: (?-imsx: (MODULE s+ [A-Z]+[0-9]+) s* [(] .+? [)]) matches as follows: NODE EXPLANATION ---------------------------------------------------------------------- (?-imsx: group, but do not capture (case-sensitive) (with ^ and $ matching normally) (with . not matching \n) (matching whitespace and # normally): ---------------------------------------------------------------------- ' ' ---------------------------------------------------------------------- ( group and capture to \1: ---------------------------------------------------------------------- MODULE 'MODULE ' ---------------------------------------------------------------------- s+ 's' (1 or more times (matching the most amount possible)) ---------------------------------------------------------------------- ' ' ---------------------------------------------------------------------- [A-Z]+ any character of: 'A' to 'Z' (1 or more times (matching the most amount possible)) ---------------------------------------------------------------------- [0-9]+ any character of: '0' to '9' (1 or more times (matching the most amount possible)) ---------------------------------------------------------------------- ) end of \1 ---------------------------------------------------------------------- ' ' ---------------------------------------------------------------------- s* 's' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- ' ' ---------------------------------------------------------------------- [(] any character of: '(' ---------------------------------------------------------------------- ' ' ---------------------------------------------------------------------- .+? any character except \n (1 or more times (matching the least amount possible)) ---------------------------------------------------------------------- ' ' ---------------------------------------------------------------------- [)] any character of: ')' ---------------------------------------------------------------------- ) end of grouping ----------------------------------------------------------------------