[erlang-questions] Problems with re:replace/4
Antoine Koener
antoine.koener@REDACTED
Fri Jul 22 10:05:09 CEST 2011
Why using 'named matches ' instead of \\1 ?
since you use ( ) in the search motif ?
On 22 juil. 2011, at 09:56, Paul Burt <paul.burt@REDACTED> wrote:
> Sadly not, no. I tried that.
>
> The replacement string simply returns the literal string "\k<mention>"
> or "\\k<mention>" no matter how many backslashes I put in!
>
> Cheers,
> Paul
>
>
> On 22 July 2011 08:51, Antoine Koener <antoine.koener@REDACTED> wrote:
>> Whenever you deal with re module and the \ character, try \\ instead.
>>
>> There's 2 levels of filtering.
>>
>> Maybe this will help :))
>>
>>
>>
>> On 22 juil. 2011, at 09:39, Paul Burt <paul.burt@REDACTED> wrote:
>>
>>> Hi,
>>>
>>> I'm a newcomer to Erlang and am interested in writing some helper
>>> functions to parse and manipulate responses from the Twitter API for
>>> use in a web application.
>>>
>>> What I would like to do is replace "@mention" and "#hashtag" with HTML
>>> markup as follows:
>>>
>>> @mention --> <a href="http://twitter.com/mention">@mention</a>
>>> #hashtag --> <a href="http://search.twitter.com/search?tag=hashtag">#hashtag</a>
>>>
>>> In other words transform Twitter @mentions and #hashtags into clickable links.
>>>
>>> I have the basic structure of a function (tweetify/1) to do this
>>> below. The ???? represent where I'm running into trouble:
>>>
>>> tweetify(Input) ->
>>> Replacements = [
>>> {"@(?<mention>\\w+)", "<a href=\"http://twitter.com/????\">&</a>"},
>>> {"#(?<hashtag>\\w+)", "<a
>>> href=\"http://search.twitter.com/search?tag=????\">&</a>"}
>>> ],
>>> lists:foldl(fun({RE, Replacement}, Tweet) ->
>>> re:replace(Tweet, RE, Replacement, [global,
>>> {return, binary}])
>>> end, Input, Replacements).
>>>
>>> Whilst I understand that the token "&" will insert _everything_
>>> matched by the regular expression (i.e. @mention and #hashtag
>>> respectively), how do I use the named tags in the replacement string?
>>> In other words, how do I get hold of \k<mention> and \k<hashtag> in
>>> the PCRE idiom and use them in the replacement string?
>>>
>>> Thanks in advance for any assistance/pointers.
>>>
>>> -Paul
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list