我想修改這個SO問題Find string between two substrings中的python正則表達式(PCRE)技術到Haskell,這樣我就可以在Haskell中做同樣的事情。提取Haskell中兩個子字符串之間的字符串
但我不知道如何使它在GHC(8.2.1)中工作。我已經安裝cabal install regex-pcre
,以及一些搜索後,用下面的測試代碼上來:
import Text.Regex.PCRE
s = "+++asdf=5;iwantthis123jasd---"
result = (s ++ s) =~ "asdf=5;(.*)123jasd" :: [[String]]
我希望得到中間串
iwantthis
的第一個和最後一個實例,但我可以」噸得到正確的結果:
[[ 「ASDF = 5; iwantthis123jasd --- +++ ASDF = 5; iwantthis123jasd」, 「iwantthis123jasd --- +++ ASDF = 5; iwantthis」]]
我以前沒有在Haskell中使用正則表達式或pcre。
有人可以幫助正確的使用(提取第一次和最後一次出現)? 另外,我不太瞭解::[[String]]
這裏的用法。它做什麼,爲什麼它是必要的?
我搜索了documentation,但未發現類型轉換爲:: [[String]]
的用法。
'地圖(!! 1)'可能更可讀,因爲數字表示捕獲組。 – 4castle