我得到两个配置字符串:
我想从中提取 DataBaseName 字段,因此我使用下面的代码来匹配该字段:
match = re.search(r'(?<=/)(\w+)(?=[\?$])', config_str)
if match is not None and len(match.groups()) > 0:
print match.groups()[1]
但它不起作用。
我尝试并确认:
(?<=/)(\w+)(?=$)
匹配jdbc:mysql://127.0.0.1:3306/DataBaseName
(?<=/)(\w+)(?=\?)
匹配
jdbc:mysql://127.0.0.1:3306/DataBaseName?encoding=utf8
所以我认为原因是特殊字符在方括号中不起作用。
这是真的吗?我怎样才能使我的代码工作?