So, I have an interesting question and a bit of code. I didn't really
know whether this was the right forum or not, but here goes.
I have two goals I would like help with:
1. Optimize/simplify the regex
2. Recognize where the regex would produce false positives on some
ifDescrs which don't actually have a real hardware path
Really, #1 is most befitting this mailing list, but if anyone wants to
help with #2 that's great.
For those of you who are famimliar, a cisco router's SNMP ifDescr can
contain what i would describe as the hardware path of whatever interface
you are querying. For example, "Ethernet1/0", "T3 3/0/2", "POS2/0/1".
Juniper routers have a similar thing.
Now, I have the following regex to split these up into four pieces.
/^([^0-9]+)([0-9]+ |)([0-9]+\/[^\s]+)(.*)$/
$1 : Is a required match of some non-numeric chars. This would
match "Ethernet", or the "T" in T3 or T1
$2 : An optional match which would catch the "3 " in ifDescrs
like "T3 3/0/1"
$3 : string starting with one or more numerics, then a "/", then
all non-whitespace
$4 : the rest
In all cases I've seen, the text before the hardware path will only end
in a numeric char if there is a space terminating it. Hence, "T3 3/0/2"
returning $3 == "3/0/2" and "Ethernet0/1" returning $3 == "0/1".
Now, can anyone see how the regex could be simplified?
--
Shawn Leas
[EMAIL PROTECTED]
Yesterday I parked my car in a tow-away zone... when I came back the
entire area was missing...
-- Stephen Wright
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]