开发者

Regular Expression to get certain colon-delimited fields

I need to extract the string

MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8 

out of

ADMIN:1EXT:0NOR:0OUT:1PRI:1BAT:1MOD:1MAC:BFEBFBFF000006FB00:1E:37开发者_开发技巧:54:AE:C8 

The regular expression i use is

(MAC:[A-Z0-9]{10})+

But still i do not get the intended result


(MAC:[A-Z0-9:]+) will match: MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8.
(MAC:[A-Z0-9]+) will match: MAC:BFEBFBFF000006FB00.


(MAC:(([A-F0-9]+:*)))

Mac address are in hexadecimal characters...so it's A-F and not A-Z.

PS: I've tested the expression.


The expression states that you will have multiple sequences of 10 characters of [A-Z0-9] which isn't the case four your desired string.

Your regex matches

MAC:BFEBFBFF00

If the input is like your example, you could use a simple regex like this

MAC:[A-F0-9:]+

Otherwise, you could do something like this if you want to be very specific

MAC:[A-F0-9]{18}(:[A-Z0-9]{2}){5}

As pointed out by The Elite Gentleman you can get by using just A-F, if you're looking for hex numbers.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜