特殊字符在方括号中不起作用?

时间:2014-06-16 08:36:03

标签: python regex

我得到两个配置字符串:

  1. JDBC:MySQL的://127.0.0.1:3306 / DATABASENAME
  2. JDBC:MySQL的://127.0.0.1:3306 / DATABASENAME编码= UTF8
  3. 我想从中提取 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

    所以我认为原因是特殊字符在方括号中不起作用。

    这是真的吗?我怎样才能使我的代码工作?

0 个答案:

没有答案