[問題] python regexp請教

看板RegExp (正規表示式 Regular Expression)作者 (沒有靈魂的擁抱)時間13年前 (2011/09/07 22:02), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
※ [本文轉錄自 Python 看板 #1EPsl6ik ] 作者: tonini (沒有靈魂的擁抱) 看板: Python 標題: [問題] python regexp請教 時間: Wed Sep 7 21:04:03 2011 我是對Python初級到一個極致 因為工作的關係,需要用到~所以就硬著頭皮學了 但是僅限於正規表示式 (regular expression) 我有一段文字檔是這樣 2011-09-07 20:47:15 10.1.1.1(via UDP: [10.1.1.2]:1344) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises.2604.2.1.1.1 Enterprise Specific Trap (2) Uptime: 5:33:28.75 SNMPv2-SMI::enterprises.2604.2.1.1.2.1.2 = Hex-STRING: B1 BD B4 79 20 22 43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64 20 53 65 74 74 69 6E 67 73 5C 6D 69 63 68 61 65 6C 5C 4C 6F 63 61 6C 20 53 65 74 74 69 6E 67 73 5C 54 65 6D 70 6F 72 61 72 79 20 49 6E 74 65 72 6E 65 74 20 46 69 6C 65 73 5C 43 6F 6E 74 65 6E 74 2E 49 45 35 5C 4A 34 46 30 52 4B 47 48 5C 32 30 31 31 2D 39 2D 35 2D 31 39 2D 39 2D 34 2D 6E 66 31 5B 31 5D 2E 64 6F 63 22 20 A6 5E B6 C7 20 53 41 56 20 49 6E 74 65 72 66 61 63 65 20 BF F9 BB 7E 20 30 78 61 30 30 34 30 32 31 61 A1 47 20 53 6F 70 68 6F 73 20 41 6E 74 69 2D 56 69 72 75 73 20 B5 4C AA 6B C4 7E C4 F2 B6 69 A6 E6 A1 41 B8 D3 C0 C9 AE D7 A5 58 BF F9 A1 43 0D 0A SNMPv2-SMI::enterprises.2604.2.1.1.2.2.2 = STRING: "9.5.5" 過頭的部分就先無視了~ 這是我寫的regexp \w+\-\w+\-\w+\s\d\d:\d\d:\d\d\s\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\(via UDP:\s \[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]:\w+\)\s\TRAP, SNMP v1, community public \n\SNMPv2-SMI::enterprises.2604.\d.\d.\d.\d\s\Enterprise Specific Trap \(\w+\) \s\Uptime:\s\w+\ days,\s\d\d:\d\d:\d\d\.\d\d\n\SNMPv2-SMI::enterprises.2604. \d.\d.\d.\d.\d.\d\s.* 在網路上regexp tester測試都OK 但是在linux上測試就有問題 所以我想應該是換行字元還有第二行一開頭的空白的關係 我快hold不住了~有熱血鄉民可以給些意見嗎?? 感恩一百分~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.151.110

09/07 21:25,
RegExp 有專板, 也可以在那邊問看看
09/07 21:25

09/07 22:01,
喔喔~感謝提醒!!!!
09/07 22:01
-- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.151.110

09/08 20:50, , 1F
寫這麼長破了我的紀錄XD
09/08 20:50, 1F

09/08 20:50, , 2F
看起來是SNMP Trap的東西...oid可以用簡化的方式表達
09/08 20:50, 2F

09/08 20:51, , 3F
\w+(\.\w+)* 這樣就好了
09/08 20:51, 3F

09/08 22:48, , 4F
修正一下: \w+(\.\w+)+
09/08 22:48, 4F

09/08 23:47, , 5F
^\d{4}(.+\n)+?.*"$ 這樣如何?
09/08 23:47, 5F
文章代碼(AID): #1EPtcAJB (RegExp)
文章代碼(AID): #1EPtcAJB (RegExp)