我知道它可以表示范围,但是例如这里[-.\d]
似乎这意味着十进制数。正则表达式前面的破折号是什么意思?
另外,除[]
之外,为什么还有()
? ()
是什么意思?
答案 0 :(得分:7)
[-.\d]
找到一个字符([]
)短划线(-
),句点(.
)或数字(\d
)。
围绕平均分组的括号,以便稍后可以使用group()
对象的Match
方法访问匹配的值。
答案 1 :(得分:5)
-
在这里并不意味着什么特别的,它实际上是匹配破折号(可能正在寻找用作减号的破折号)。 .
也是字面值 - 它将匹配一个点(可能用于小数点)。 \d
将匹配任何数字(0-9)。如果您在示例的末尾添加*
或+
乘数,则表示它将匹配任何数字:正数,负数或浮点数。
使用的()括号标记组的开头和结尾,并且在执行匹配后可以检索组的内容。
有关详细信息,请参阅http://docs.python.org/library/re.html。
答案 2 :(得分:3)
这意味着“破折号”。他们可能期望一些负数(即-0.5)。 ()
表示它正在捕获匹配项。
答案 3 :(得分:0)
记住[]它代表一个字符类,它下面的每一个东西都会被认为是字符串中可以出现的字符,(除非你像使用\ d +一样在字符类中转义它),例如[\d-+]+
现在在这种情况下 - 和+ inside []只是符号,+在字符类外面的+现在是正则表达式重复符号。
答案 4 :(得分:0)
如果 - 被转义(例如 [a-z])或者如果它被放置为第一个或最后一个 字符(例如 [-a] 或 [a-]),它将匹配文字“-”。