Python Regex搜索通配符字符串或数字

tpgth1q7  于 2023-06-30  发布在  Python
关注(0)|答案(1)|浏览(106)

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

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

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

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

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

c6ubokkw

c6ubokkw1#

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

如果原始字符串中有“\”和“'”,则必须用“\”转义它们。“.{0,10}”匹配长度为0到10的任何字符链。
或者,您可以使用负前瞻:

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

相关问题