我正在尝试使用正则表达式从字符串中提取模式-
"([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/_"-]+)""