我有这条线
15815 (sh): demand=3000000 boost=1 reason=0 sync=0 need_idle=0 flags=80002 grp=0 best_cpu=6 latency=0
我想使用python regex提取sh和flags值,并命名为backreference,但总是使用None类型的对象,我该怎么做?你知道吗
下面是我尝试的代码:
pattern = re.compile(r"\((?P<thread>.*?)\)*\sflags=(?P<flags>\d+)")
m = pattern.search(str)
m.group()
'(sh): demand=3000000 boost=1 reason=0 sync=0 need_idle=0 flags=80002'
您需要匹配除
(
和)
之外的任何字符来匹配(...)
中的内容,然后使用.*
或.*?
来匹配flags
。然后,您只需要使用group("thread")
和group("flags")
来访问这些值:参见Python demo
注意我在
flags=
之前添加了一个单词边界\b
,以匹配flags
作为一个完整的单词。你知道吗相关问题 更多 >
编程相关推荐