帮助理解正则表达式

帮助理解正则表达式

我有这个正则表达式 \\..\\{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\}(如果支持最后一个)适用于最后一个字符或最后一个括号(可能是\( ... \),但这又取决于正则表达式方言)。检查手册对于您正在使用的确切工具

相关内容