diff --git a/BUGS.ja.utf-8 b/BUGS.ja.utf-8
--- a/BUGS.ja.utf-8
+++ b/BUGS.ja.utf-8
@@ -2,3 +2,6 @@
 (?i)と[...]の組み合わせがうまくない。
 [...]に関してはどうもうまくない感じがする。
 あとで根本的な解決が必要だ。
+
+2008.1.25 Fri.
+splitRegexPRでmatchしなかった場合について解決すること。
diff --git a/Hidden/ParseRegexStr.hs b/Hidden/ParseRegexStr.hs
--- a/Hidden/ParseRegexStr.hs
+++ b/Hidden/ParseRegexStr.hs
@@ -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
diff --git a/Hidden/RegexPRTypes.hs b/Hidden/RegexPRTypes.hs
--- a/Hidden/RegexPRTypes.hs
+++ b/Hidden/RegexPRTypes.hs
@@ -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)
diff --git a/Hidden/SrcRegActList.hs b/Hidden/SrcRegActList.hs
--- a/Hidden/SrcRegActList.hs
+++ b/Hidden/SrcRegActList.hs
@@ -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 = [
diff --git a/Hidden/TestMain.hs b/Hidden/TestMain.hs
--- a/Hidden/TestMain.hs
+++ b/Hidden/TestMain.hs
@@ -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"
  ]
diff --git a/TODO.ja.utf-8 b/TODO.ja.utf-8
--- a/TODO.ja.utf-8
+++ b/TODO.ja.utf-8
@@ -32,3 +32,9 @@
   正規表現のparseに失敗したときのerror messageの改善。
   ParseLibを公開できるくらいに洗練する。
   homepageの作成。
+
+2008.1.25 Fri.
+TODO LIST
+  日本語対応
+  Haddock形式に対応
+  日本語のhomepageの作成
diff --git a/regexpr.cabal b/regexpr.cabal
--- a/regexpr.cabal
+++ b/regexpr.cabal
@@ -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
