我不是正则表达式的专家,并尝试执行以下操作。
string' s'可以包含模式16'h2020:16'h2F20
,即十六进制数字范围。我需要将这个匹配括在方括号中并返回相同的字符串,即[16' h2020:16' h2F20]。
我这样做了:
s = re.sub("\d+'h\d+:\d+'h\d+","[\d+'h\d+:\d+'h\d+]",s)
但它不按要求工作。请帮忙。
答案 0 :(得分:2)
您需要使用capturing group。
s = re.sub(r"(\d+'h\d+:\d+'h\d+F\d+)",r'[\1]',s)
示例:强>
>>> import re
>>> s = "16'h2020:16'h2F20"
>>> re.sub(r"(\d+'h\d+:\d+'h\d+F\d+)",r'[\1]',s)
"[16'h2020:16'h2F20]"