Helpful regex based functions. E.g., grepping.

regrep(filename, patterns, reverse=False, terminate_on_match=False, postprocess=<class 'str'>)[source]

A powerful regular expression version of grep.

  • filename (str) – Filename to grep.

  • patterns (dict) – A dict of patterns, e.g., {“energy”: r”energy\(sigma->0\)\s+=\s+([\d-.]+)”}.

  • reverse (bool) – Read files in reverse. Defaults to false. Useful for large files, especially when used with terminate_on_match.

  • terminate_on_match (bool) – Whether to terminate when there is at least one match in each key in pattern.

  • postprocess (callable) – A post processing function to convert all matches. Defaults to str, i.e., no change.


{key1: [[[matches…], lineno], [[matches…], lineno],

[[matches…], lineno], …],

key2: …}

For reverse reads, the lineno is given as a -ve number. Please note that 0-based indexing is used.

Return type

A dict of the following form