Hi Chen,

You can do one line at a time also.

(Also, if you read whole file, convert it into a string and work on that
string, the original file will not change.)

- Regards,
  Shashi.


On 1/4/06, chen li <[EMAIL PROTECTED]> wrote:
>
> Thanks Chris and others for the information.
>
> Chris, I have another question: I have a file
> containing multiple lines and it looks like this:
>
> (line 1).....chen.....
> (line 2)..............
> (line 3) chen.........
>
> If I read the whole file at once  and change it into a
> string I have no problem using regular expression to
> find out the word "chen". But it looks like a little
> bit unnatural for me because it changes the file's
> format. Is it possible to do the match without change
> the file format? One way I think is to use a loop to
> read the file line by line and do the match for each
> line. I wonder if  this is the best way to get the job
> done.
>
> Once again thank you very much,
>
> Li
>
>
> --- Chris Charley <[EMAIL PROTECTED]> wrote:
>
> >
> > ----- Original Message -----
> > From: "chen li" <[EMAIL PROTECTED]>
> >
> >
> > > Hi all,
> > >
> > > Here is my problem:
> > >
> > > my $string="chen schen";
> > >
> > > I want to use regular expression to find the exact
> > > match in the string. So when I want to match
> > "chen" I
> > > expect "chen" only.
> > > But  use the following line I get both "chen" and
> > > "schen" at the same time.
> > > $string=~/chen/g;
> > >
> > > How do I get what I expect?
> >
> > Hi Chen
> >
> > You can get the results by adding a \b before and
> > after your reg expression.
> > \b is a boundary between a word and a non-word
> > character. (A word character
> > is a-z, A-Z, 0-9, or underscore, _).So, for your
> > example, schen wouldn't
> > match then because the 's' preceding 'c' is a word
> > character and so the \b
> > wouldn't be true. But, it would match chen because
> > the (non) character
> > (beginning of the string) preceding the 'c' would
> > make \b true.
> >
> > $string=~/\bchen\b/g;
> >
> > MATCH
> > "chen "
> > "#chen"
> > "here is a chen and another chen"
> > "chen's"    (the apostrophy is a non-word char)
> >
> > NO MATCH
> > "schen"
> > "chens"
> >
> > Chris
> >
> >
> >
> > --
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > <http://learn.perl.org/>
> > <http://learn.perl.org/first-response>
> >
> >
> >
>
>
>
>
> __________________________________________
> Yahoo! DSL – Something to write home about.
> Just $16.99/mo. or less.
> dsl.yahoo.com
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
>
>
>

Reply via email to