packages feed

regexpr 0.2.9 → 0.3

raw patch · 7 files changed

+41/−36 lines, 7 files

Files

BUGS.ja.utf-8 view
@@ -2,3 +2,6 @@ (?i)と[...]の組み合わせがうまくない。 [...]に関してはどうもうまくない感じがする。 あとで根本的な解決が必要だ。++2008.1.25 Fri.+splitRegexPRでmatchしなかった場合について解決すること。
Hidden/ParseRegexStr.hs view
@@ -26,9 +26,9 @@                              parensesList, charClassList )  parseRegexStr :: String -> [RegexAction]-parseRegexStr =-  fst . fst . headOrErr "parse error: regex is uncorrect" .-    (runParse $ runRegexSrcParser parseRegexStrParser) . (,) []+parseRegexStr src =+  fst . fst . headOrErr ("parse error: regex " ++ show src ++ " is uncorrect") .+    (runParse $ runRegexSrcParser parseRegexStrParser) . (,) [] $ src  parseRegexStrParser, parseTokensOr, parseTokens :: RegexSrcParser [RegexAction] parseRegexStrParser = parseTokensOr >>= endOfInput@@ -135,7 +135,7 @@         parseChar      = ( spot isAlphaNum )                       `mplus` 		         ( token '\\' >> spot isSymbol )           `mplus` 			 ( spot $ selfTest &&& flip notElem "-]" ) `mplus`-			 ( token '+' )                             `mplus`+			 ( spot $ flip elem ".+$" )                `mplus` 			 ( token '[' >>= skipRet (still $ parseNot () 			                                $ token ':') )         parseCharArea  = (parseChar >>= skipRet (token '-')) >..> parseChar
Hidden/RegexPRTypes.hs view
@@ -79,6 +79,8 @@ reverseRegexAction :: RegexAction -> RegexAction reverseRegexAction (Note i ras)   = Note i $ reverse $ map reverseRegexAction ras+reverseRegexAction (Parens ras)+  = Parens $ reverse $ map reverseRegexAction ras reverseRegexAction (RegexOr ras1 ras2)   = RegexOr (reverse $ map reverseRegexAction ras1)             (reverse $ map reverseRegexAction ras2)
Hidden/SrcRegActList.hs view
@@ -19,7 +19,7 @@  selfTest :: Char -> Bool selfTest-  = flip elem "\n\f\r\t !\"#%&',-/:;<=>@]_'~" ||| isAlphaNum ||| isBit7On+  = flip elem "\b\n\f\r\t !\"#%&',-/:;<=>@]_'~{}" ||| isAlphaNum ||| isBit7On  plusesList :: [ (String, RegexAction -> RegexAction) ] plusesList = [
Hidden/TestMain.hs view
@@ -6,7 +6,7 @@ module Hidden.TestMain where  import Test.HUnit-import Text.RegexPR ( matchRegexPR, gsubRegexPR )+import Text.RegexPR ( matchRegexPR, gsubRegexPR, subRegexPR )  main :: IO Counts main = runTestTT $ test suite@@ -203,4 +203,8 @@      gsubRegexPR "c(a)t|(b)ad" "\\+" "Is cat bad? No, cat is not bad"  , "aababcabcdabcdeabcdefabcdefg"       ~=? gsubRegexPR "." "\\`" "abcdefgh"  , "bcdefghcdefghdefghefghfghghh"       ~=? gsubRegexPR "." "\\'" "abcdefgh"+ , "abc"                                ~=? gsubRegexPR "\b" "" "a\bb\bc\b"+ , "abcd"                               ~=? subRegexPR "[.]" "c" "ab.d"+ , "abcdcfcg"                           ~=? gsubRegexPR "[.+$]" "c" "ab.d+f$g"+ , Just ( ("", ("abc", "")), [] )       ~=? matchRegexPR "(?<=abc)" "abc"  ]
TODO.ja.utf-8 view
@@ -32,3 +32,9 @@   正規表現のparseに失敗したときのerror messageの改善。   ParseLibを公開できるくらいに洗練する。   homepageの作成。++2008.1.25 Fri.+TODO LIST+  日本語対応+  Haddock形式に対応+  日本語のhomepageの作成
regexpr.cabal view
@@ -1,5 +1,5 @@ Name:		regexpr-Version:	0.2.9+Version:	0.3 License:	GPL License-File:	LICENSE Author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -8,39 +8,29 @@ Homepage:	http://homepage3.nifty.com/salamander/regexpr Synopsis:	regular expression like Perl/Ruby in Haskell Description:-  Regular expression library like Perl/Ruby's regular expressions.+  Regular expression library like Perl and Ruby's regular expressions.   This package has a module RegexPR.   And RegexPR export functions matchRegexPR and gsubRegexPR.   .-      matchRegexPR :: String -> Maybe ((String, (String, String)), [(Int, String)])-  .-      gmatchRegexPR :: String -> [((String, (String, String)), [(Int, String)])]-  .-      subRegexPR :: String -> String -> String-  .-      gsubRegexPR :: String -> String -> String-  .-      splitRegexPR :: String -> String -> [String]-  .-  Examples:-  .-  matchRegexPR "ab(cde)f\\1" "kkkabcdefcdefgh" =>-               Just (("abcdefcde", ("kkk", "fgh")),[(1,"cde")])-  .-  matchRegexPR "(?<=hij)abc" "kkkabchijabcde" =>-               Just (("abc",("kkkabchij","de")),[])-  .-  gsubRegexPR "\\G(\\d\\d\\d)" "\\1," "123456 789" => "123,456, 789"-  .-  subRegexPR "(?<=(.)(.)(.))e" " \\3\\2\\1 " "abcdefg" => "abcd dcb fg"-  .-  gsubRegexPR "(?ixm)  aBc  . # comment \n\n" "abc!" "abc\nABCDAbcAbc" =>-               "abc!abc!abc!bc"+  > hoge matchRegexPR :: String -> Maybe ((String, (String, String)), [(Int, String)])+  > gmatchRegexPR :: String -> [((String, (String, String)), [(Int, String)])]+  > subRegexPR :: String -> String -> String+  > gsubRegexPR :: String -> String -> String+  > splitRegexPR :: String -> String -> [String]   .-  gmatchRegexPR "(?=(?<!(?!abc)))abc" "abcdefdefabc" =>-               [(("abc", ("", "defdefabc")), []), (("abc", ("defdef", "")), [])]+  Examples   .-  splitRegexPR "\\s*,\\s*" "a,b ,c\t ,d , e" => ["a","b","c","d","e"]+  > matchRegexPR "ab(cde)f\\1" "kkkabcdefcdefgh" =>+  >              Just (("abcdefcde", ("kkk", "fgh")),[(1,"cde")])+  > matchRegexPR "(?<=hij)abc" "kkkabchijabcde" =>+  >              Just (("abc",("kkkabchij","de")),[])+  > gsubRegexPR "\\G(\\d\\d\\d)" "\\1," "123456 789" => "123,456, 789"+  > subRegexPR "(?<=(.)(.)(.))e" " \\3\\2\\1 " "abcdefg" => "abcd dcb fg"+  > gsubRegexPR "(?ixm)  aBc  . # comment \n\n" "abc!" "abc\nABCDAbcAbc" =>+  >             "abc!abc!abc!bc"+  > gmatchRegexPR "(?=(?<!(?!abc)))abc" "abcdefdefabc" =>+  >              [(("abc", ("", "defdefabc")), []), (("abc", ("defdef", "")), [])]+  > splitRegexPR "\\s*,\\s*" "a,b ,c\t ,d , e" => ["a","b","c","d","e"] Category:	Text Build-Depends:	base, mtl, HUnit, mtlparse Build-Type:     Simple@@ -49,4 +39,4 @@ 		Hidden.ParseRegexStr, Hidden.SrcRegActList, 		Hidden.TestMain Extra-source-files: TODO.ja.utf-8, localConfigure, BUGS.ja.utf-8-ghc-options:    -Wall -O2 -optl-Wl,-s+ghc-options:    -Wall -O2