LookBehind - 查找出现在模式之后的字符串
LookBehind - Find string occuring after a pattern
我需要有关正则表达式查询的帮助:-
C: - total 79.45 Gb - used: 33.82 Gb (43%) - free 45.63 Gb (57%)
这是我的示例文本。我想找到已用磁盘的 %usage。即我的情况是 43%。
我正在使用 lookbehind 查找 "used" keyword 之后的事件。
这是我正在使用的模式 (?<=(\bused))(.*?\(\d*%\))
。但这给了我 : 33.82 Gb (43%)
作为输出。我只需要 43 作为我的输出。
谁能帮忙
尝试只捕获 \d*
部分:
(\bused)(.*?\((\d*)%\))
* *
星号是第 3 组(您想要的组)的开始和结束位置。
或者你可以让其他组不捕获,得到第 1 组:
(?:\bused)(?:.*?\((\d*)%\))
使用python3你可以这样写:
import re
re_findall = re.findall("used:.*\(([0-9]*)%\) -",line)
行是:
C: - total 79.45 Gb - used: 33.82 Gb (43%) - free 45.63 Gb (57%)
这和Sweeper说的类似,你只是"capture"这里的数字使用python模块。
我需要有关正则表达式查询的帮助:-
C: - total 79.45 Gb - used: 33.82 Gb (43%) - free 45.63 Gb (57%)
这是我的示例文本。我想找到已用磁盘的 %usage。即我的情况是 43%。
我正在使用 lookbehind 查找 "used" keyword 之后的事件。
这是我正在使用的模式 (?<=(\bused))(.*?\(\d*%\))
。但这给了我 : 33.82 Gb (43%)
作为输出。我只需要 43 作为我的输出。
谁能帮忙
尝试只捕获 \d*
部分:
(\bused)(.*?\((\d*)%\))
* *
星号是第 3 组(您想要的组)的开始和结束位置。
或者你可以让其他组不捕获,得到第 1 组:
(?:\bused)(?:.*?\((\d*)%\))
使用python3你可以这样写:
import re
re_findall = re.findall("used:.*\(([0-9]*)%\) -",line)
行是:
C: - total 79.45 Gb - used: 33.82 Gb (43%) - free 45.63 Gb (57%)
这和Sweeper说的类似,你只是"capture"这里的数字使用python模块。