关于Ruby正则表达式的混淆,以匹配有效的String

时间:2014-03-20 08:05:24

标签: ruby regex

假设我在Ruby正则表达式中使用匹配模式:

VALID_ID = /^[-a-z0-9_.]+$/i

我认为它匹配包含字符-_0-9,'a-z','A-Z'的所有字符串。但是,我对这里的最后一个字符.感到困惑。这是什么意思?你能提供一些例子来解释它吗?

2 个答案:

答案 0 :(得分:2)

它与char .匹配,.里面的[]只是点字符,没有特殊含义。

答案 1 :(得分:1)

如果您在.之外使用点([]),则表示除\n之外的任何字符。但是如果你将这个点(.)放在[](也称为字符类)中,那么它只意味着匹配点(.

例如:

/[.]/将与.

匹配

/./将匹配除\n

以外的任何字符