[\w+\.]{3}
和
\w+\.\w+\.\w+\.
前者匹配“dra”
后来匹配“dragon.is.awesome”
我对他们的理解是什么?
输入文字看起来像
我知道dragon.is.awesome但是
我知道dragon.is.awesome。因为,他太棒了
我知道dragon.suck。因为,他不是很棒
我知道dragon.is.dead,有人杀了他
所以我需要匹配模式\ w +。
的任何分组组合答案 0 :(得分:3)
因为第一个是字符类。
[\w+/\.]
匹配一个\w
,或一个+
或一个/
或一个文字.
。如果要缩短后者,请使用正常的括号:
(\w+\.){3}
请注意,在字符类中,大多数元字符都会失去意义。因此,+
和.
以及*
(例如)都可以被包含和匹配,而不会被转义。
答案 1 :(得分:1)
[...]
是字符类。它匹配一个字符。 [\w+\.]
匹配一个字符,该字符可以是“单词”字符(字母,数字或下划线),也可以是加号或点。 [\w+\.]{3}
连续匹配三个这样的字符。
答案 2 :(得分:1)
[]
是一个字符类,而不是子模式。 [abc]
匹配单个a,b或c。
你可能意味着(\w+\.){3}
, 与第二个正则表达式相同。