+$ 在这一行中以及一般情况下做什么?

+$ 在这一行中以及一般情况下做什么?

我有这个代码 ^[a-zA-Z]+$ ,它的目的是仅隔离字母,并且它仅在我添加 +$ 之后才起作用,然后它还计算 A33 等内容。我的问题是,+$ 的作用/含义是什么?

答案1

在一个扩展正则表达式(例如 shell 支持的类型bash), the+是前面表达式的修饰符([a-zA-Z],它自己匹配给定集合中的单个字符),它要求表达式至少匹配一次,但也可能匹配多次。是“行尾锚点”,意味着在范围或$中的非空字符串之后,除了行尾之外不能有任何其他内容。a-zA-Z

同样,^(如表达式中所使用的)是行开头的锚点。

A33表达式不会匹配该字符串,因为该表达式33不允许使用行末尾的位。如果没有$,表达式将匹配字符串,因为整个表达式将匹配A开头的子字符串。没有+(但有$),它会不是匹配字符串,AAA因为表达式只允许单个字符。

相关内容