Rexexp on part of a string
virtualsue
virtuallysue at gmail.com
Tue Feb 19 17:05:51 GMT 2008
Ovid wrote:
> --- virtualsue <virtuallysue at gmail.com> wrote:
>
>>>> I would like to restrict the part of a string a regexp is allowed
>>>> to operate on, For example I would like to ignore comments.
>>>> I would like
>>>>
>>>> $x = " andrew andrew # andrew " ;
>>>> $x =~ s/andrew/black/g ;
>>>> to produce " black black # andrew "
> <snip>
>>> you could simply split() on #, s/andrew/black/g and rejoin
>>> or use a lookahead
>>> s/andrew(?=.*\#)/black/g;
>> If I split on # then what happens if $x contains 'print
>> "==#andrew#andrew#===\n" # more andrew'?
>>
>> Maybe the data would never look like that, but calling them comments
>> and using the '#' to delineate them makes you wonder.
>
> I think the problem here is that we have an example of the data rather
> than a specification of it.
No duh.
> The latter would make the question far
> easier to answer :)
Which is why we always have to plead/cajole/beat it out of our clients. This can be the very most
fun part of the project in fact.
More information about the london.pm
mailing list