我想使用正则表达式从下面的字符串中提取第三个十六进制数字。我似乎无法使正则表达式正确。
我在下面有一个字符串:
s = ('0x11111111 0x22222222 0x33333333 0x44444444')
x = re.compile((0x)+(\w+))
代码:
value = re.search(x, s)
if value:
result = int(value.group(2),16)
print hex(result)
答案 0 :(得分:0)
您想使用re.findall
s = '0x11111111 0x22222222 0x33333333 0x44444444'
x = re.compile(r'\w+')
# Use find all to get a list of all matching elements
values = x.findall(s)
if values:
# Extract the wanted element (you should really check
# len of string or better catch IndexError)
result = int(values[2], 16)
print(hex(result))