anagrep: Find strings with permutations (anagrams) that match a regular expression

[ bsd3, library, program, text ] [ Propose Tags ]

Given a regular expression, determine if it matches any permutation of a given string. For example, "lt[aeiou]*" would match all strings with one 'l', one 't', and vowels (like "elate", "tail", "tl", etc.). Regular expression parsing is based on regex-tdfa and generally follows those semantics, but not all regular expression features are supported. For example, repeat modifiers cannot be applied to groups (such as "(abc)*"). The goal is for matching to be fairly efficient in most cases, given that this problem is NP-complete.


Automatic Flags

Enable ghc-specific optimizations (on internal Natural representation)


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS]
Dependencies anagrep, base (<5), bytestring, case-insensitive, containers, deepseq, ghc-prim, integer-gmp, regex-tdfa, vector [details]
License BSD-3-Clause
Copyright 2020, Dylan Simon
Author Dylan Simon
Category Text
Source repo head: git clone git://
Uploaded by DylanSimon at 2020-12-10T20:45:28Z
Distributions NixOS:
Executables anagrep
Downloads 257 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-12-10 [all 1 reports]