1

我有一个列表,其中包含两种类型的文本。一种类型用于授权,而另一种类型用于所有其他目的。用于授权的类型总是使用相同的文本+后面的一些代码。我想比较这两种文本的内容,并根据内容将它们分开。

我的想法是在授权类型中查找模式,如果它与模式匹配,则将其标记为授权,否则将标记为“其他”。

我研究了 Groovy 中模式的比较,但我尝试的所有变体都不适合我。这是应该进行比较的部分,我显然做错了什么,但我不知道是什么。

  jdbcOperations.queryForList(sql).collect { row ->
     if(assert (row['MSG'] ==~ /token/)){
  mark as authorization
 }
 else{
      mark as other
    }
  }

对不起,模糊的代码,我不能分享更多。

4

1 回答 1

0

我认为您只是错过了其余文本的匹配项,因为您只寻找要匹配的第一部分。

assert ("abc" ==~ /abc/) == true
assert ("abcdefg" ==~ /abc/) == false
assert ("abcdefg" ==~ /abc(.*)/) == true // <--- This can also be made more complicated
于 2013-06-05T13:00:04.267 回答