Python3 Regex groupdict无法正常工作

时间:2017-11-02 14:30:52

标签: regex python-3.x

使用Python 3.4.3

我正在尝试使用正则表达式将CSS分割为标识符。我的模式是:

pattern = re.compile("(?P<tag>[^.#]+)?(#(?P<iḍ>[^.#]+))?(?P<classes>([.][^.#]+)+)?")

我的测试字符串是h2#label。当我进行比赛时,我得到的组是('h2', '#label', 'label', None, None)这是正确的。

如果我得到匹配的groupdict,我会{'classes': None, 'iḍ': 'label', 'tag': 'h2'}看起来也是正确的。但是,当我尝试检索id的值时,我会得到一个结果,好像它不存在一样。

执行"id" in match.groupdict()会产生False并执行“match.groupdict()。get(”id“)yields无`。

知道这里有什么问题以及如何解决它?

1 个答案:

答案 0 :(得分:1)

您需要修正拼写错误:而不是'iḍ'类型'id'

pattern = re.compile("(?P<tag>[^.#]+)?(#(?P<id>[^.#]+))?(?P<classes>([.][^.#]+)+)?")