いくつかのコードのためのstylecheckerを書くしようとし、複数行の正規表現のためにJavaでbackrefrencesを使用して...ここに正規表現がBackrefrencesは
.*import com.+([a-zA-Z]+Factory\.class).*\\1.*
は、基本的には、検索したいようになりますコード内のファクトリクラスの最初のインスタンスです。私の例のコードは次のようになります。
import com.sample.OtherClass;
import com.sample.cool.SomeFactory.class;
// other nonsense
@Import(clazz = SomeFactory.class)
// other nonsense
私の予想試合は@Import
文のSomeFactory.class
だろうが、それはこれをピックアップしていません...任意の提案を? Javaの使用で
(?s)import\s+com.+?\.([a-zA-Z]+Factory\.class).*(\1)
:
パターンをコンパイルするときに 'Pattern.DOTALL'フラグを使用することも忘れないでください。 – Zefick
あなたは予想される試合を追加できますか? –