我经常使用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.*$")
回归当然是真的。
只有我这令人惊讶?
答案 0 :(得分:1)
"help"
与"^h"
不符。只有help
中的第一个字母与"^h"
匹配
答案 1 :(得分:1)
Java比perl或ruby更严格。它正在尝试匹配整个字符串,而“help”在结尾处有一个额外的elp / ^ h /将不匹配。
来自docs:
判断此字符串是否与给定的正则表达式匹配。
不是子字符串,整个字符串。