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