簡體   English   中英

Python Regex提取變量

[英]Python Regex to extract variable

我正在嘗試以以下形式從字符串中提取2個變量

2015-11-07 10:04:30,855 INFO - RequestTimeLogger.logRequestTime(11) | Request to 'Get Cases (Between Dates)' took 514ms

我正在嘗試提取Get Cases (Between Dates)和響應時間514

我已經嘗試使用Python 2.7.6進行以下操作

reg = re.compile("(.+')(?P<request_name>.*)(' took )(?P<request_time>\d+)(.*)")
reg.match(mystringabove)

哪個返回false ...我在做什么錯?


請求名稱始終在引號中,例如'something'並且可以是非引號的任何字符。請求時間始終在ms之前

使用原始字符串作為模式( r""格式):

import re
p = re.compile(r".+'(?P<request_name>[^']*)' took (?P<request_time>\d+)ms")
test_str = "2015-11-07 10:04:30,855 INFO - RequestTimeLogger.logRequestTime(11) | Request to 'Get Cases (Between Dates)' took 514ms\n"
g = p.match(test_str).groupdict()

您可以使用搜索代替匹配,因此不必匹配整個字符串。

import re
s="2015-11-07 10:04:30,855 INFO - RequestTimeLogger.logRequestTime(11) | Request to 'Get Cases (Between Dates)' took 514ms"

mat = re.search(r'Request to \'(.*)\' took (.*)ms',s)
if mat:
    print mat.group(1) + ' ' + mat.group(2)

Get Cases (Between Dates) 514

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM