[erlang-questions] regexp sux!
Michael McDaniel
erlangx@REDACTED
Fri Mar 9 16:54:44 CET 2007
On Fri, Mar 09, 2007 at 01:54:12PM +0100, Torbjorn Tornkvist wrote:
>
> As usual, the regexp module drive me nutts.
> I simply want to do the equivalent to:
>
> # from a bash shell
>
> xx="<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>".
> echo $xx | sed 's/\(.*xml\
> version=.*encoding="\)\([a-zA-Z0-9_-]*\).*/\2/'
> ISO-8859-1
>
> So how do I do this with the regexp module ?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
though the above did not work in my bash shell ,
$ bash --version
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
here is one way to get encoding ver w/regexp, though not
fully reliable due to depending on fixed version length
and depending on no whitespace between endcoding= and the
version.
1> X="<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>".
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>"
2> {match, Start, Length} = regexp:match(X, "encoding=").
{match,21,9}
3> lists:sublist(X, Start+Length, 12). % get past tag
"\"ISO-8859-1\""
I'm using R11B-3, Eshell V5.5.3
~Michael
>
> Cheers, Tobbe
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
> !DSPAM:52,45f1597418341684014417!
>
>
More information about the erlang-questions
mailing list