Regex 在Scala中使用matches函数时,我得到了一个意外的结果。有人能告诉我为什么吗?

Regex 在Scala中使用matches函数时,我得到了一个意外的结果。有人能告诉我为什么吗?,regex,scala,Regex,Scala,当我比较两个赋值相同的变量时,结果为false,可能是因为*字符。我需要我的程序的进一步处理的结果,它必须是真实的。请告诉我解决办法 scala>var c=“PASSWD\\*\\*\\*\\*\\*\\*\*” c:java.lang.String=PASSWD\*\*\*\*\*\*\*\* scala>var d=“PASSWD\\*\\*\\*\\*\\*\\*\*” d:java.lang.String=PASSWD\*\*\*\*\*\*\*\* scala>println(c.m

当我比较两个赋值相同的变量时,结果为false,可能是因为*字符。我需要我的程序的进一步处理的结果,它必须是真实的。请告诉我解决办法

scala>var c=“PASSWD\\*\\*\\*\\*\\*\\*\*”

c:java.lang.String=PASSWD\*\*\*\*\*\*\*\*

scala>var d=“PASSWD\\*\\*\\*\\*\\*\\*\*”

d:java.lang.String=PASSWD\*\*\*\*\*\*\*\*

scala>println(c.matches(d))

假的


你的问题来自这样一个事实,你需要在正则表达式中转义*s,但不是在字符串中,所以我认为你的实际意思是

val c = "PASSWD********"
val d = "PASSWD\\*\\*\\*\\*\\*\\*\\*\\*"
然后


谢谢,我的问题解决了
scala> println(c.matches(d))
true