我正在寻找以下格式的字符串:
"5\'x5\'-ClimateControlled(xxxxxxx)IndooraccessUpperLevelElevatoraccess"
其中(xxxxxxx)通配符部分可以是数字,字母或符号的任意组合。我发现如果通配符部分是数字,则以下工作:
pattern = '5\'x5\'-ClimateControlled.IndooraccessUpperLevelElevatoraccess'
regex = re.compile(pattern)
regex.findall(raw)
但是,有时通配符部分是一个或多个符号,在这种情况下,搜索不返回任何内容。真正的通配符搜索的语法是什么,中间的部分可以是什么?
答案 0 :(得分:0)
r'5\\\'x5\\\'-ClimateControlled.{0,10}IndooraccessUpperLevelElevatoraccess'
你必须逃避" \"和" ' "通过" \",如果你在原始字符串中有它们。 " 。{0,10}"匹配长度为0到10的任何字符链。
或者你可以使用否定前瞻:
r'5\\\'x5\\\'-ClimateControlled(?!5\\\'x5\\\'-ClimateControlled).*?IndooraccessUpperLevelElevatoraccess'