Perl 正则表达式:$ 锚定符156


Perl 正则表达式中的 $ 锚定符用于匹配字符串的结尾。它与 ^ 锚定符互补,^ 用于匹配字符串的开头。

使用 $ 锚定符

要使用 $ 锚定符,只需在正则表达式末尾添加一个反斜杠 (\) 和一个美元符号 ($)。例如,以下正则表达式将匹配以 "ing" 结尾的字符串:/ing$/

以下正则表达式将匹配以 "com" 结尾的 URL:/.*\.com$/

贪婪匹配与懒惰匹配

默认情况下,$ 锚定符是贪婪的,这意味着它将尽可能匹配字符串的结尾。但是,可以通过使用一个问号 (?) 来使其变为懒惰匹配。懒惰匹配只匹配字符串结尾所需的最小数量的字符。# 贪婪匹配
/ab*c$/
# 懒惰匹配
/ab*?c$/

在第一个正则表达式中,* 量词匹配尽可能多的 "b" 字符。在第二个正则表达式中,*? 量词只匹配必需的 "b" 字符,以使正则表达式匹配字符串结尾。

示例

以下是一些使用 $ 锚定符的示例:* /^\s*$/:匹配空行或只包含空格的行的行首和行尾。
* /^(?:s*[a-zA-Z]+\s*){3}$/:匹配由三个单词组成的句子,每个单词前后都有空白字符。
* /^(http|https):/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,5}$/:匹配有效的 URL,以协议(http 或 https)、主机名和顶级域(如 ".com")结尾。

$ 锚定符是一个强大的工具,可用于确保正则表达式与字符串的结尾匹配。通过了解贪婪和懒惰匹配之间的区别,可以编写更精确、更有效的正则表达式。

2024-11-30


上一篇:perl正则表达式$

下一篇:入门指南:在 Perl 中执行命令