provide some regex-posix-based utilities that perform better than regexpr
This commit is contained in:
		
							parent
							
								
									b780badd07
								
							
						
					
					
						commit
						3b5c0bc4a1
					
				| @ -42,6 +42,7 @@ import System.FilePath((</>), isRelative) | |||||||
| import Test.HUnit | import Test.HUnit | ||||||
| import Text.ParserCombinators.Parsec | import Text.ParserCombinators.Parsec | ||||||
| import Text.Printf | import Text.Printf | ||||||
|  | import Text.Regex | ||||||
| import Text.RegexPR | import Text.RegexPR | ||||||
| -- import qualified Data.Map as Map | -- import qualified Data.Map as Map | ||||||
| --  | --  | ||||||
| @ -202,6 +203,7 @@ difforzero :: (Num a, Ord a) => a -> a -> a | |||||||
| difforzero a b = maximum [(a - b), 0] | difforzero a b = maximum [(a - b), 0] | ||||||
| 
 | 
 | ||||||
| -- regexps | -- regexps | ||||||
|  | -- Note many of these will die on malformed regexps. | ||||||
| 
 | 
 | ||||||
| -- regexMatch :: String -> String -> MatchFun Maybe | -- regexMatch :: String -> String -> MatchFun Maybe | ||||||
| regexMatch r s = matchRegexPR r s | regexMatch r s = matchRegexPR r s | ||||||
| @ -232,6 +234,13 @@ regexToCaseInsensitive r = "(?i)"++ r | |||||||
| regexSplit :: String -> String -> [String] | regexSplit :: String -> String -> [String] | ||||||
| regexSplit = splitRegexPR | regexSplit = splitRegexPR | ||||||
| 
 | 
 | ||||||
|  | -- regex-compat (regex-posix) functions that perform better than regexpr. | ||||||
|  | regexMatchesRegexCompat :: String -> String -> Bool | ||||||
|  | regexMatchesRegexCompat r = isJust . matchRegex (mkRegex r) | ||||||
|  | 
 | ||||||
|  | regexMatchesCIRegexCompat :: String -> String -> Bool | ||||||
|  | regexMatchesCIRegexCompat r = isJust . matchRegex (mkRegexWithOpts r True False) | ||||||
|  | 
 | ||||||
| -- lists | -- lists | ||||||
| 
 | 
 | ||||||
| splitAtElement :: Eq a => a -> [a] -> [[a]] | splitAtElement :: Eq a => a -> [a] -> [[a]] | ||||||
|  | |||||||
| @ -66,6 +66,7 @@ library | |||||||
|                  ,old-locale |                  ,old-locale | ||||||
|                  ,old-time |                  ,old-time | ||||||
|                  ,parsec |                  ,parsec | ||||||
|  |                  ,regex-compat == 0.95.* | ||||||
|                  ,regexpr >= 0.5.1 |                  ,regexpr >= 0.5.1 | ||||||
|                  ,safe >= 0.2 |                  ,safe >= 0.2 | ||||||
|                  ,split >= 0.1 && < 0.3 |                  ,split >= 0.1 && < 0.3 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user