正则表达式锚定问题

sid*_*com 1 regex anchor perl

在这个正则表达式的开头,像"^"或"\ A"这样的锚是否有任何意义 - 任何区别?

$string =~/(.*)([a-z])$/
Run Code Online (Sandbox Code Playgroud)

yst*_*sth 5

是的,如果在字母前面的任何地方有换行符,则^或\ A将导致正则表达式不匹配,因为.*(除了换行符之外的任何字符中的零个或多个)将不再与结束前的字母匹配.

如果没有开始锚点,正则表达式将匹配从最后一个换行符到字符串结尾之后(或者通过结尾处换行符之前的字母,如果有换行符).