2016-07-07 6 views
0

私が必要とするのは、(findBy、fetchUnique ..など)のような呼び出しでいくつかのエンティティ(A、B、C、D、E ..)セッションをクリアしないので、すべてのコードの前にfindBy、fetchUniqueがあり、セッションをクリアしません。単語が一致しないための別の正規表現のヘルプ

だから私は以下のように、この正規表現を持っている:

\w*(A|B|C|D|E|F|G|H|I).*(?=\.findBy)((?s)(?!\.clear\()) 

そして、それが動作しない、任意の提案を歓迎します。

更新:だから、要求された

として詳細を追加することは、私は、以下の方法を考えてみましょう:

public Long test(){ 
    A a = dao.findByKey(key); 
    ....//use a here 
    .... 
    .... 
    return xyz; 
} 

オブジェクトaはdao.clear(A)が、下記を呼び出すことによってクリアされないので、これが一致している必要がありますメソッドは一致しないはずです

public Long test(){ 
    A a = dao.findByKey(key); 
    ....//use a here 
    .... 
    .... 
    dao.clear(a); 
    return xyz; 
} 

ここでは、セッションからクリアされるためです。

+3

を参照してください。 –

+1

正規表現は修正されませんが、予想される入出力は何か分かりませんので、少し改善があります: 'A | B | C | D | E | F | G | H | I' can '[AI]'で置き換えることができます。 –

+3

返信ありがとうございますが、A、B、Cなどはアルファベットではなく象徴的です。私は正確なコードを書いていない、彼らはエンティティを表しています。 –

答えて

1

あなたはほとんどそこにあった。

\w*(A|B|C|D|E|F|G|H|I).*(?=\.findBy)(?!(?s).*\.clear\() 
              ||<= here's the diff 

は私たちにサンプル入力と何を一致させたいをご提示くださいdemo

+0

ありがとうございます、私はその数量を見逃しました。 –

+0

一度に入力として与えられる単一のメソッドでのみ機能します。 – revo

関連する問題