Python正则表达式搜索通配符字符串或数字

时间:2016-10-30 20:17:04

标签: regex python-2.7

我正在寻找以下格式的字符串:

"5\'x5\'-ClimateControlled(xxxxxxx)IndooraccessUpperLevelElevatoraccess"

其中(xxxxxxx)通配符部分可以是数字,字母或符号的任意组合。我发现如果通配符部分是数字,则以下工作:

pattern = '5\'x5\'-ClimateControlled.IndooraccessUpperLevelElevatoraccess'
regex = re.compile(pattern)
regex.findall(raw)

但是,有时通配符部分是一个或多个符号,在这种情况下,搜索不返回任何内容。真正的通配符搜索的语法是什么,中间的部分可以是什么?

1 个答案:

答案 0 :(得分:0)

r'5\\\'x5\\\'-ClimateControlled.{0,10}IndooraccessUpperLevelElevatoraccess'

你必须逃避" \"和" ' "通过" \",如果你在原始字符串中有它们。 " 。{0,10}"匹配长度为0到10的任何字符链。

或者你可以使用否定前瞻:

r'5\\\'x5\\\'-ClimateControlled(?!5\\\'x5\\\'-ClimateControlled).*?IndooraccessUpperLevelElevatoraccess'