Copyright | (c) Chris Kuklewicz 2006 |
---|---|
License | BSD-3-Clause |
Maintainer | hvr@gnu.org, Andreas Abel |
Stability | stable |
Portability | non-portable (MPTC+FD) |
Safe Haskell | Safe |
Language | Haskell2010 |
Classes and instances for Regex matching.
This module merely imports and re-exports the common part of the new api: Text.Regex.Base.RegexLike and Text.Regex.Base.Context.
To see what result types the instances of RegexContext can produce, please read the Text.Regex.Base.Context haddock documentation.
This does not provide any of the backends, just the common interface they all use. The modules which provide the backends and their cabal packages are:
Text.Regex.Posix
from regex-posixText.Regex
from regex-compat (uses regex-posix)Text.Regex.Parsec
from regex-parsecText.Regex.DFA
from regex-dfaText.Regex.PCRE
from regex-pcreTest.Regex.TRE
from regex-tre
In fact, just importing one of the backends is adequate, you do not also need to import this module.
Example
The code
import Text.Regex.Base import Text.Regex.Posix ((=~),(=~~)) -- or TDFA or PCRE or ... main = do print b print c print d where b :: Bool b = ("abaca" =~ "(.)a") c :: [MatchArray] c = ("abaca" =~ "(.)a") d :: Maybe (String,String,String,[String]) d = ("abaca" =~~ "(.)a")
will output
True [array (0,1) [(0,(1,2)),(1,(1,1))],array (0,1) [(0,(3,2)),(1,(3,1))]] Just ("a","ba","ca",["b"])
Synopsis
Documentation
RegexLike defines classes and type, and Extract
instances
module Text.Regex.Base.RegexLike