| Copyright | (c) Chris Kuklewicz 2006 |
|---|---|
| License | BSD-3-Clause |
| Maintainer | hvr@gnu.org |
| Stability | experimental |
| Portability | non-portable (MPTC+FD) |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Text.Regex.Base
Description
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.Posixfrom regex-posixText.Regexfrom regex-compat (uses regex-posix)Text.Regex.Parsecfrom regex-parsecText.Regex.DFAfrom regex-dfaText.Regex.PCREfrom regex-pcreTest.Regex.TREfrom regex-tre
In fact, just importing one of the backends is adequate, you do not also need to import this module.
Example
The code below
import Text.Regex.Base
import Text.Regex.Posix((=~),(=~~)) -- or DFA or PCRE or PosixRE
main = let b :: Bool
b = ("abaca" =~ "(.)a")
c :: [MatchArray]
c = ("abaca" =~ "(.)a")
d :: Maybe (String,String,String,[String])
d = ("abaca" =~~ "(.)a")
in do print b
print c
print d
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