Haskell语言学习笔记(52)正则表达式
来源:互联网 发布:软件测试的基本原则 编辑:程序博客网 时间:2024/06/05 19:57
Text.Regex.PCRE.Heavy
$ brew install pcre$ cabal install pcre-heavyInstalled pcre-heavy-1.0.0.2Prelude> :m +Text.Regex.PCRE.HeavyPrelude Text.Regex.PCRE.Heavy>
Prelude Text.Regex.PCRE.Heavy> :set -XQuasiQuotesPrelude Text.Regex.PCRE.Heavy> :set -XFlexibleContextsPrelude Text.Regex.PCRE.Heavy> "123-4567-89" =~ [re|\d{3}-(\d{4})-\d{2}|]TruePrelude Text.Regex.PCRE.Heavy> scan [re|\d{3}-(\d{4})-\d{2}|] "123-4567-89"[("123-4567-89",["4567"])]Prelude Text.Regex.PCRE.Heavy> scanRanges [re|\d{3}-(\d{4})-\d{2}|] "123-4567-89"[((0,11),[(4,8)])]Prelude Text.Regex.PCRE.Heavy> :set -XScopedTypeVariablesPrelude Text.Regex.PCRE.Heavy> sub [re|\d+|] (\(s::String) -> reverse s) "123-4567-89""321-4567-89"Prelude Text.Regex.PCRE.Heavy> gsub [re|\d+|] (\(s::String) -> reverse s) "123-4567-89""321-7654-98"Prelude Text.Regex.PCRE.Heavy> split [re|%(begin|next|end)%|] ("%begin%hello%next%world%end%" :: String)["","hello","world",""]
- (=~) :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS) => a -> Regex -> Bool
(=~) 操作符函数检查字符串是否匹配指定正则表达式。 - scan :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS) => Regex -> a -> [(a, [a])]
scan 函数查找并返回字符串中所有出现的指定正则表达式。 - scanRanges :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS) => Regex -> a -> [((Int, Int), [(Int, Int)])]
scanRanges 函数查找字符串中所有出现的指定正则表达式,返回出现的所有位置。 - sub :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS, RegexReplacement r) => Regex -> r -> a -> a
sub 函数替换字符串中第一次出现的指定正则表达式。 - gsub :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS, RegexReplacement r) => Regex -> r -> a -> a
gsub 函数替换字符串中所有出现的指定正则表达式。 - split :: (ConvertibleStrings SBS a, ConvertibleStrings a SBS) => Regex -> a -> [a]
split 函数使用指定正则表达式分割字符串。
阅读全文
0 0
- Haskell语言学习笔记(52)正则表达式
- Haskell语言学习笔记(1)
- Haskell语言学习笔记(2)
- Haskell语言学习笔记(4)Functor
- Haskell语言学习笔记(5)Applicative
- Haskell语言学习笔记(6)Monad
- Haskell语言学习笔记(8)Monoid
- Haskell语言学习笔记(14)Foldable
- Haskell语言学习笔记(16)Alternative
- Haskell语言学习笔记(17)MonadPlus
- Haskell语言学习笔记(18)Traversable
- Haskell语言学习笔记(21)Array
- Haskell语言学习笔记(22)MaybeT
- Haskell语言学习笔记(29)CPS
- Haskell语言学习笔记(31)ListT
- Haskell语言学习笔记(35)Contravariant
- Haskell语言学习笔记(39)Category
- Haskell语言学习笔记(42)Bifunctor
- Haskell语言学习笔记(51)Comonad
- 递归算法转非递归
- 转载:图的最小生成树和最短路径
- 学习总结1
- c++ 运算符重载
- Haskell语言学习笔记(52)正则表达式
- 画圆
- CCF 送货 (欧拉路径+字典序最小 80分)
- c++中引入全局static下,产生的问题
- BAT机器学习面试题
- 正则表达式(Java,C#,C++)
- 自定义View流式布局
- jQuery教程 7 遍历
- 用 Python 学习算法:初级排序算法