我需要提取字符串正則表達式來獲得一定的冒號分隔的字段
MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
出
ADMIN:1EXT:0NOR:0OUT:1PRI:1BAT:1MOD:1MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
正則表達式我用的是
(MAC:[A-Z0-9]{10})+
但我仍然沒有得到預期的結果
我需要提取字符串正則表達式來獲得一定的冒號分隔的字段
MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
出
ADMIN:1EXT:0NOR:0OUT:1PRI:1BAT:1MOD:1MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
正則表達式我用的是
(MAC:[A-Z0-9]{10})+
但我仍然沒有得到預期的結果
該表達式聲明您將有多個[A-Z0-9]的10個字符序列,這不是您想要的四個字符串。
你的正則表達式匹配
MAC:BFEBFBFF00
如果輸入的是喜歡你的例子,你可以使用一個簡單的正則表達式這樣
MAC:[A-F0-9:]+
否則,你可以做這樣的事情,如果你想成爲非常具體
MAC:[A-F0-9]{18}(:[A-Z0-9]{2}){5}
正如精英紳士所指出的,您可以通過使用A-F,如果你正在尋找十六進制數字。
(MAC:[A-Z0-9:]+)
將匹配:MAC:BFEBFBFF000006FB00:1E:37:54:AE:C8
。
(MAC:[A-Z0-9]+)
將匹配:MAC:BFEBFBFF000006FB00
。
(MAC:(([A-F0-9]+:*)))
Mac地址是十六進制字符......所以它是A-F而不是A-Z。 PS:我測試過這個表達式。
這是一個好點!我只是認爲OP是指A-Z。 – 2010-02-19 09:51:54
很高興能幫助Brian。 – 2010-02-19 09:57:04