2016-03-30 9 views
0

私が持っているのはすべてSQL Insert文です。私がしたいのは、Insertから最後のセミコロンまでです。以下のような:Javaを使ったRegex on Java

Insert blah INTO blah VAULES(blah);

私はこれらのすべてをキャプチャする必要があります。

私はこの正規表現として^([^;]*)を使用しています。

これは私のJavaコードです:

private String processFile(String data) { 
    StringBuilder retVal = new StringBuilder(); 
    Pattern pattern = Pattern.compile(REGEX); 
    Matcher matcher = pattern.matcher(data); 
    while (matcher.find()) { 
     String match = matcher.group(1); 
     match = match.replaceAll("\n", ""); 
     retVal.append(match).append(";\n"); 
    } 
    return retVal.toString(); 
} 

しかし、それだけで最初の発生をキャプチャするようです。どのように私はそれらのすべてをキャプチャできますか?

答えて

2

正規表現には、文字列マッチャの先頭が含まれます。^は、一度だけ一致することができます。

あなたは(のようなInsertキーワード)を繰り返す何かの文字列照合の開始を置き換える複数のエントリを一致させたい場合は:

Insert([^;]*)

+0

クール、それをやりました。ありがとう – user489041