On 08/21, Janek Schleicher said something like:
> John W. Krahn wrote at Tue, 20 Aug 2002 22:43:55 +0200:
> 
> > Shawn wrote:
> > You can use \d instead of [0-9], \D instead of [^0-9] and \S instead of
> > [^\s].
> > 
> > /^(\D+)(\d+ |)(\d+\/\S+)(.*)$/
>          ^^^^^^^
> 
> That's still an ugly and slow way to have an optional match
> better write it as
> 
> m!^(\D+)(\d+ )?(\d+/\S+)(.*)$!

Much better. The list says beginners, but the intelligence and
helpfulness is expert and professional.

> What I still don't understand is why it's necessary to capture the rest in $4.
> In the given examples
> "Ethernet1/0", "T3 3/0/2", "POS2/0/1"
> there is no rest.

Off the top of my head, "FastEthernet0/0.10-802.1Q vLAN subif"

> Could it also be that the first part is simply a name
> that could have some digits at the end and
> the second part is a path.
> If the name ends on a digit, 
> then the name and the path are seperated with a blank.
> I ask, as this job could be done quite easier:

The path can have [\d/.:] and maybe more funcky junk. All I'm sure about
is that a greedy match of non-whitespaces match it nicely.

> m!^(\w+?) ?([\d/]+)$/                  [untested]
> 
> allthough I don't believe that this solution is quicker.

--
Shawn Leas
[EMAIL PROTECTED]

My grandfather invented Cliff's Notes. It all started back in 1912...
well, to make a long story short...
                                                -- Stephen Wright

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to