Haskell:
정규 표현식 사용하기
사용 방법:
Haskell에서는 정규 표현식 기능이 표준 라이브러리의 일부가 아니기 때문에, regex-base
와 같은 제3자 패키지와 POSIX 정규 표현식 지원을 위한 regex-posix
, Perl 호환 정규 표현식을 위한 regex-pcre
등과 같은 호환 백엔드의 사용이 필요합니다. 다음은 이러한 패키지를 사용하여 정규 표현식으로 작업하는 방법입니다.
먼저, .cabal
파일에 regex-posix
나 regex-pcre
를 추가하거나 직접 cabal을 통해 패키지가 설치되어 있는지 확인하세요:
cabal install regex-posix
또는
cabal install regex-pcre
regex-posix
사용하기:
import Text.Regex.Posix ((=~))
-- 문자열이 패턴과 일치하는지 확인
isMatch :: String -> String -> Bool
isMatch text pattern = text =~ pattern :: Bool
-- 첫 번째 일치 항목 찾기
findFirst :: String -> String -> String
findFirst text pattern = text =~ pattern :: String
main :: IO ()
main = do
print $ isMatch "hello world" "wo"
-- 출력: True
print $ findFirst "good morning, good night" "good"
-- 출력: "good"
regex-pcre
사용하기:
import Text.Regex.PCRE ((=~))
-- 모든 일치 항목 찾기
findAll :: String -> String -> [String]
findAll text pattern = text =~ pattern :: [String]
main :: IO ()
main = do
print $ findAll "test1 test2 test3" "\\btest[0-9]\\b"
-- 출력: ["test1","test2","test3"]
각 라이브러리는 특성이 있지만, 일치 항목을 확인하거나 부분 문자열을 추출하는 데 있어 =~
을 사용하는 일반적인 방법론은 일관적입니다. regex-posix
와 regex-pcre
중에서 선택하는 것은 대부분 프로젝트의 필요와 필요한 특정 정규 표현식 기능에 따라 달라집니다.