夜雨聆风学习资料网

ARTICLE · 1045985

Excel小知识7-正则开头和结尾,你真的了解?

Excel小知识7-正则开头和结尾,你真的了解?
说起正则表达式中的“开头”和“结尾”,很多人第一时间会想到 ^ 和 $。但还有三个符号,可能不少人都没听说过:\A\Z 和 \z。它们分别有什么用?又有什么不同?今天我们就来聊一聊。为了更清晰地展示,我会结合测试工具和 WPS 进行演示。先看“开头”,再研究“结尾”。
  • 开头:^ 和 \A
开头部分:^ 和 \A。从下面四张图可以看到,在当前演示场景下,二者的匹配结果完全一致。

但别急,一旦开启多行模式,二者就展现不同之处了。

  • ^:默认匹配整个字符串开头;开启多行模式后,还会匹配每一行的开头。

  • \A:始终只匹配整个字符串的最开头,不受多行模式影响。

也就是说,多行模式下的 ^ 可能匹配多个位置,而 \A 永远只匹配第一个位置——整个文本的最开头。

  • 结尾:\Z \z $
      结论先说:不完全相同。 默认模式下,如果字符串末尾没有换行,三者看起来可能一样。
非多行模式下,当数据最后有换行符时,$ 和 \Z 行为一致:都匹配字符串末尾和最后一个换行符之前;\z就比较特别只匹配最后的位置。
开启多行模式(?m)后,$的行为和^对称:$会匹配每一行的末尾(每个\n之前,以及全文末尾); 而\Z\z属于全局字符串锚点,不受(?m)影响,它们只会定位整个文本的结尾,不会识别中间换行分割出来的行尾,因此在多行场景里,中间各行末尾对\Z/\z来说都是无效位置,看起来如同 “没有效果”。
💡 如果你想系统学好正则、各类文本函数,用它们批量处理数据、自动化办公,大幅提升日常工作效率,可以看看我的课程;
 也可以体验我自研的 AI 助手(WPS专用),专门适配这类正则、脚本、自动化需求,有兴趣可以私信我。

相关学习资料