我有这个正则表达式 \\..\\{3\\}$
我想了解这个表达式如何匹配字符串。我的想法是它匹配行尾的任意 8 个字符。这就是这个表达式的作用吗?
如果是这样,我认为这样的东西会匹配字符串:
rs.efg$tu
答案1
假设“典型”正则表达式(遗憾的是,不同的工具处理稍微不同的正则表达式,并且 GNU 和 POSIX 版本也不同,然后存在一些版本漂移......),这解析为 [需要 Unicode-Art 标记.. .]
\. . \{3\} $
▲ ▲ ▲ ▲
│ │ │ │
│ │ │ └─ End of line
│ │ └─ Preceding exactly 3 times (the '\' makes '{' special...)
│ └─ Any character (except '\n')
└─ A literal '.' ('.' is special, '\' makes it un-special)
所以这意味着行尾之前有一个点和 3 个随机字符。
*
像or 这样的结构\{3\}
(如果支持最后一个)适用于最后一个字符或最后一个括号(可能是\( ... \)
,但这又取决于正则表达式方言)。检查手册对于您正在使用的确切工具。