Edward Diener wrote:
> Ross Smith wrote:
>> George A. Heintzelman wrote:
>>>> Given that I have a string 's' from somewhere, I'd like to create a
>>>> regular expression where some part must match that string. The
>>>> problem is, the 's' could contain characters that have a special
>>>> meaning in regular expressions. Is there some support function that
>>>> can provide an escaped version of 's'? Something that transforms
>>>> "my.*string" into "my\.\*string"? If there isn't, would it be
>>>> possible/easy to provide one?
>>>
>>> Second that request. I just had a need for this, though I wound up
>>> ignoring the problem rather than fixing it...
>>
>> There must be something in the air; I just had a need for this too.
>> My quick-and-dirty solution was to simply replace every
>> non-alphanumeric character with a hex escape sequence (\xNN).
>>
>> Having it just add escapes to a list of special characters wouldn't
>> work as a general solution, because the list of characters depends on
>> the
>> flags passed to the regex functions.
>
> That is a good point. However you always know what flags are passed
> to the regex function since they are available. That's not arguing
> against such a function as being part of the library itself but it is
> still doable by you. Furthermore you can set the flag mode you like
> to simplify your escaping,
> but of course this is not a general solution as the rest of the
> regular expression may require particular flags set.
>
>> Of course there are settings
>> where
>> my hex-escape solution won't work either. I don't think a general
>> solution is possible without making it part of the library; it needs
>> access to the innards of the regex objects in order to know the exact
>> syntax they recognise.
>
> That is not true. One just needs to read and understand the
> documentation on the particular flags and what they mean. There are
> no "secret innards" which retain information about escaping
> characters which you can't find for yourself by testing the flags.

Let me add to my remark by saying that it is true that you can change the
characters of a regular expression using localization with a dll or message
catalog, but again you know what changes have been made and should be able
to escape the appropriate characters.



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to