Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: A question of 'or' in a Regex

by BrowserUk (Patriarch)
on May 28, 2003 at 15:58 UTC ( [id://261345]=note: print w/replies, xml ) Need Help??


in reply to A question of 'or' in a Regex

If your strings are stand-alone, then using anchors (\A & \Z (or ^ & $ unless your using the /m option)) will work fine, but if your trying to detect matches for this regex within the context of a larger string, then you can acheive this using a few zero-width assertions.

#! perl -slw use strict; while( <DATA> ) { chomp; print if m[ \bC # Starting with C preceeded by a non-\ +w char (?: # and either 800 # 800 | # or (?: 29 | 35 ) # 29 or 35 (?: # and (?: 50(?!XL) ) # 50 not followed by XL | # or (?: 00XL ) # 00XL ) )\b # followed by a word break ]x; } __DATA__ This is the spec for the ABC800. This device is a This is the spec for the C800. This device is a This is the spec for the C2900. This device is a This is the spec for the C2950. This device is a This is the spec for the C2900XL. This device is a This is the spec for the C2950XL. This device is a This is the spec for the C3500. This device is a This is the spec for the C3550. This device is a This is the spec for the C3500XL. This device is a This is the spec for the C3500XLM. This device is a This is the spec for the C3550XL. This device is a __OUTPUT__ D:\Perl\test>junk This is the spec for the C800. This device is a This is the spec for the C2950. This device is a This is the spec for the C2900XL. This device is a This is the spec for the C3550. This device is a This is the spec for the C3500XL. This device is a

Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller


Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://261345]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2024-04-16 23:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found