字符串匹配正则表达式

时间:2011-09-14 15:26:05

标签: java regex

我经常使用perl,unix和java正则表达式,但我对Java感到惊讶:

    "help".matches("^h")  

是假的!!

来自java文档: http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#matches-java.lang.String-

“如果且仅当此字符串与给定的正则表达式匹配时才为真”

     "help".matches("^h.*")

     "help".matches("^h.*$")

回归当然是真的。

只有我这令人惊讶?

2 个答案:

答案 0 :(得分:1)

"help""^h"不符。只有help中的第一个字母与"^h"匹配

答案 1 :(得分:1)

Java比perl或ruby更严格。它正在尝试匹配整个字符串,而“help”在结尾处有一个额外的elp / ^ h /将不匹配。

来自docs

  

判断此字符串是否与给定的正则表达式匹配。

不是子字符串,整个字符串。