Python 正则表达式组以查找范围
我有一个字符串Python 正则表达式组以查找范围,python,regex,Python,Regex,我有一个字符串“age>444
“age>4<6”
我想得到最小和最大范围(4表示最小,6表示最大)
没有订单问题,因此年龄<6>4“
也应该像年龄>4<6”
一样有效
我目前有:
pattern = re.compile(r'(?P<min>age.*?> ?[\d+] ?)(?P<max>age.*?< ?[\d+] ?)')
address = pattern.search('age > 4 < 6')
min, max = (address.group('min'), address.group('max'))
print min, max
pattern=re.compile(r'(?Page.*?>?[\d+])(?Page.*?<?[\d+]))
地址=pattern.search('age>4<6')
最小值,最大值=(address.group('min'),address.group('max'))
打印最小值,最大值
但这对我不起作用
我正在尝试使用
*?
允许min在max之前,或者max在min之前-但是没有用 我对你的问题有点困惑,但你可以使用两个正则表达式:
text = "age > 4 < 6"
pmin,pmax = re.compile(r'age.*?< ?(\d+)'), re.compile(r'age.*?> ?(\d+)')
amin,amax = pmin.search(text), pmax.search(text)
min, max = amin.group(1), amax.group(1)
print min, max
text=“年龄>4<6”
pmin,pmax=re.compile(r'age.*?<?(\d+)),re.compile(r'age.*?>?(\d+))
amin,amax=pmin.search(文本),pmax.search(文本)
最小值,最大值=最小组(1),最大组(1)
打印最小值,最大值
我对你的问题有点困惑,但你可以使用两个regexp:
text = "age > 4 < 6"
pmin,pmax = re.compile(r'age.*?< ?(\d+)'), re.compile(r'age.*?> ?(\d+)')
amin,amax = pmin.search(text), pmax.search(text)
min, max = amin.group(1), amax.group(1)
print min, max
text=“年龄>4<6”
pmin,pmax=re.compile(r'age.*?<?(\d+)),re.compile(r'age.*?>?(\d+))
amin,amax=pmin.search(文本),pmax.search(文本)
最小值,最大值=最小组(1),最大组(1)
打印最小值,最大值
>>重新搜索(“(<(?P\d+)|>(?P\d+)+”,“年龄<4>6”)。groupdict()
{'max':'6','min':'4'}
>>重新搜索(“(<(?P\d+)|>(?P\d+)+”,“年龄<4>6”)。groupdict()
{'max':'6','min':'4'}