做一个最近的 dzone 益智游戏,将字符串与重复数字匹配,我对以下内容感到困惑:
我希望以下模式可以工作: /(\d)\1/
当我使用运算符 =~ (应该创建一个匹配器)时,这正确匹配
if(!("${num}" =~ /(\d)\1/) )
println num
不会打印,例如 77、100、222 等
但是当我使用 ==~ (应该评估为布尔值)时,即:
if(!("${num}" ==~ /(\d)\1/) )
println num
然后它不会打印 55、66,但会打印 100、111。我必须将模式更改为 /\d*(\d)\d\d*/ 才能使其工作。
我有什么误解?为什么该模式适用于 =~ 而不是 ==~
任何见解表示赞赏。