Tim*_*ker 11
^表示"匹配字符串的开头"(更准确地说, 是字符串中第一个字符之前的位置,因此它与实际字符不匹配).
$ 表示"匹配字符串的结尾"(字符串中最后一个字符后面的位置).
两者都被称为锚点,并确保匹配整个字符串而不仅仅是子字符串.
因此,在您的示例中,第一个正则表达式将报告匹配email@address.com.uk,但匹配的文本email@address.com可能不是您所期望的.第二个正则表达式将失败.
小心,一些正则表达式实现隐式地将正则表达式锚定在字符串的开头/结尾(例如Java .matches(),如果你正在使用它).
如果多行选项设置(使用(?m)标志,例如,或通过操作的方式Pattern.compile("^\\w+@\\w+[.]\\w+$", Pattern.MULTILINE)),那么^和$也匹配在的开始和结束行.