首页 > 解决方案 > String#matches 中的 \A \z 是多余的吗?

问题描述

在 javaString类中,matches测试字符串是否与正则表达式模式匹配。所以很明显它是针对正则表达式模式的整个字符串,这是否意味着\A, \z, ^, $这里是多余的?

如果不是,请提供示例来说明为什么在这种情况下它们不是多余的。

标签: javaregex

解决方案


除非您激活multiline mode ,否则它们是多余的,在这种情况下,它们^将匹配单个$的开头和结尾而不是整个输入。

您可以在使用正则表达式(通常在开头)中String#matches使用嵌入的标志表达式时激活多行模式。(?m)


推荐阅读