Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
337 views
in Technique[技术] by (71.8m points)

Regex Capture Parts of Line

I have been struggling to capture a part of an snmp response.

Text

IF-MIB::ifDescr.1 = 1/1/g1, Office to DMZ

Regex

(?P<ifDescr>(?<=ifDescr.d = ).*)

Current Capture

1/1/g1, Office to DMZ

How to capture only?

1/1/g1

Office to DMZ

EDIT

1/1/g1

This should match the digit and forward slashes for the port notation in the snmp response.

(?P<ifDescr>(?<=ifDescr.d = )d/d/gd)

Link to regexr

Office to DMZ

This should start the match past the port notation and capture remaining description.

(?P<ifDescr>(?<=ifDescr.d = d/d/gd, ).*)

Link to regexr

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could just use the answer I gave you yesterday and split the first return group, 1/1/g10, by '/' and get the third part.

1/1/g10

split by '/' gives

1
1
g10 <- third part

Why use a more complicated regex when you can use simple code to accomplish the task?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...