【发布时间】:2018-09-13 14:06:00
【问题描述】:
在 java String 类中,matches 测试字符串是否与正则表达式模式匹配。所以显然它是针对正则表达式模式的整个字符串,这是否意味着 \A, \z, ^, $ 在这里是多余的?
如果不是,请提供示例说明为什么在这种情况下它们不是多余的。
【问题讨论】:
-
我赞成你的答案,因为我无法轻易地挖掘源代码来支持潜在的答案。但是see here 的讨论与您的问题非常相似。长话短说,
String#matches(依次调用Pattern#matches)默认匹配整个字符串。如果您不想要这种行为,请改用Matcher#find,就像您以前可能做过的那样。 -
但我记得有一个警告,我必须深入挖掘。