在给定字符串之前和之后匹配字符串的正则表达式

时间:2018-03-13 05:49:11

标签: regex python-2.7 pattern-matching

我正在尝试在匹配模式之前和之后提取文本。

ex: [2018-03-12 22:04:51,324] BEFORE string<ID:1234><PID:345678>AFTER string

我想获得这些信息:

message: BEFORE string AFTER string
my_id: 1234
my_pid: 345678

我试过了:

^\[(?P<time>\d+\-\d+\-\d+\s+\d+:\d+:\d+,\d+)](?P<my_id>[^>]+)><\w+:(?P<my_pid>\d+)[^>\n]*>(?P<message>[\S\s\r\n]*)$

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我希望了解你的问题。你想从这个表达式中获取ID和PID,所以我更喜欢用两个匹配来获得这两个值。

Test

r"[P]{0,1}ID:([0-9]{1,})"

<强>结果:

  • 匹配1
  

完全匹配ID:1234

     

第1组1234

  • 匹配2
  

完全匹配PID:345678

     

第1组345678