我需要一个regex来在Apache config中的RequestReadTimeout指令中查找maxtimeout值(以下为40)。文件,例如:
RequestReadTimeout header=XXX-40,MinRate=XXX body=XXX
RequestReadTimeout header=40 body=XXX
PS:XXX表示十进制数字
我用了这个:
str="RequestReadTimeout header=10-40,MinRate=10 body=10"
re.search(r'header=\d+[-\d+]*', str).group()
'header=10-40'
但我需要一个regex来只获取一行中的maxtimeout值(本例中为40)(而不使用其他函数,如spit(“-”[1]…等)。你知道吗
谢谢。你知道吗
你将要提取的部分分组:
(...)
标记一个组,像这样的位置组从1开始编号。你知道吗我对您的表达式做了一点修改,只捕获包含数字和破折号的可选非捕获组之后的数字,以匹配您要查找的两种模式。
(?:...)
是一个非捕获组;它不在组中存储匹配的文本,但允许您使用组上的?
量词将其标记为可选。你知道吗Pythex demo。你知道吗
Python会话:
您可以通过以下
regex
实现:'RequestReadTimeout\sheader=(?:\d+)?-?(\d+).*'
第一个捕获的组
\1
就是您想要的演示:http://regex101.com/r/cD6hY0
相关问题 更多 >
编程相关推荐