Python Regex模式匹配抛出错误,带有连字符



我正在尝试使用正则表达式从字符串中提取模式-

"([a-zA-Z0-9/-_"]+)""
command = '"custom-ts-name": "asdf-somenum"'
search_string = ""custom-ts-name": "([a-zA-Z0-9/-_"]+)""
pattern = re.compile(search_string)
ts_name = pattern.findall(command)[0]

大多数情况下都有效,除非结果字符串asdf-somenum中包含一个连字符。

我在regex - "([a-zA-Z0-9/-_"]+)""内的方括号之间添加了连字符,以解决这个问题,但不确定,为什么它仍然崩溃?

-在字符集内部具有from-to的特殊含义。例如,您使用的a-z表示所有小写字母。您可以将破折号放在第一个/最后一个位置,或者转义它:

"([a-zA-Z0-9/_"-]+)""

最新更新