Yes, sort of. It enables me to get some simple examples working with (=~). But I still don&#39;t know how to get makeRegex to work. You need it to specify options like case insensitivity, or to use functions like matchAllText.<br>
<br><div class="gmail_quote">On Tue, Dec 23, 2008 at 11:29 AM, Jeremy Shaw <span dir="ltr">&lt;<a href="mailto:jeremy@n-heptane.com">jeremy@n-heptane.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello,<br>
<br>
Does this help?<br>
<br>
<a href="http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/" target="_blank">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/</a><br>
<br>
j.<br>
<br>
At Tue, 23 Dec 2008 11:21:41 -0800,<br>
Lyle Kopnicky wrote:<br>
&gt;<br>
&gt; [1 &nbsp;&lt;multipart/alternative (7bit)&gt;]<br>
&gt; [1.1 &nbsp;&lt;text/plain; ISO-8859-1 (7bit)&gt;]<br>
<div><div></div><div class="Wj3C7c">&gt; I&#39;m trying to migrate code from using the old Text.Regex to the new<br>
&gt; Text.Regex.Base. But, I&#39;m getting type errors. I can&#39;t even create a regex.<br>
&gt; Looking at the docs, it seems like this should print &quot;bcd&quot;:<br>
&gt;<br>
&gt; import Data.Array<br>
&gt; import Text.Regex.Base<br>
&gt; import Text.Regex.Posix<br>
&gt;<br>
&gt; rx = makeRegex &quot;a(.*)A&quot;<br>
&gt;<br>
&gt; Just (_, mt, _) = matchOnceText rx &quot;abcdA&quot;<br>
&gt;<br>
&gt; main = putStrLn (fst (mt ! 0))<br>
&gt;<br>
&gt;<br>
&gt; But I get an error:<br>
&gt;<br>
&gt; src\regex.hs:5:5:<br>
&gt; &nbsp; &nbsp; No instance for (RegexMaker regex compOpt execOpt [Char])<br>
&gt; &nbsp; &nbsp; &nbsp; arising from a use of `makeRegex&#39; at src\regex.hs:5:5-22<br>
&gt; &nbsp; &nbsp; Possible fix:<br>
&gt; &nbsp; &nbsp; &nbsp; add an instance declaration for<br>
&gt; &nbsp; &nbsp; &nbsp; (RegexMaker regex compOpt execOpt [Char])<br>
&gt; &nbsp; &nbsp; In the expression: makeRegex &quot;a(.*)A&quot;<br>
&gt; &nbsp; &nbsp; In the definition of `rx&#39;: rx = makeRegex &quot;a(.*)A&quot;<br>
&gt;<br>
&gt; src\regex.hs:7:18:<br>
&gt; &nbsp; &nbsp; No instance for (RegexLike regex [Char])<br>
&gt; &nbsp; &nbsp; &nbsp; arising from a use of `matchOnceText&#39; at src\regex.hs:7:18-41<br>
&gt; &nbsp; &nbsp; Possible fix:<br>
&gt; &nbsp; &nbsp; &nbsp; add an instance declaration for (RegexLike regex [Char])<br>
&gt; &nbsp; &nbsp; In the expression: matchOnceText rx &quot;abcdA&quot;<br>
&gt; &nbsp; &nbsp; In a pattern binding: Just (_, mt, _) = matchOnceText rx &quot;abcdA&quot;<br>
&gt;<br>
&gt; Why does it say there is no instance? Isn&#39;t the instance imported by<br>
&gt; Text.Regex.Posix?<br>
&gt;<br>
&gt; Why in the world is it so complicated just to get a matched substring out of<br>
&gt; the text? Is there an easier way?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Lyle<br>
</div></div>&gt; [1.2 &nbsp;&lt;text/html; ISO-8859-1 (7bit)&gt;]<br>
&gt;<br>
&gt; [2 &nbsp;&lt;text/plain; us-ascii (7bit)&gt;]<br>
&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br>