それが中に埋め込まれたそれらの文字と一致しないように単語の境界(囲ま(大文字または小文字)の任意GCAT文字列にマッチした「\\b([GCATgcat]+)\\b
」このパターンを試してみてください「カタログ」という単語のような他の文字列)。サンプルファイルでこの正規表現を繰り返しスキャンすると、各シーケンスが抽出されます。
はここにあなたのサンプルファイルのための作業例です:正規表現の超ウィザードていない人たちのすべてのために
// Locate the substring between "ORIGIN" and "//" in the file.
String fileContents = getSampleFileContents();
int indexOfOrigin = fileContents.indexOf("ORIGIN");
String pertinentSection = fileContents.substring(
indexOfOrigin, fileContents.indexOf("//", indexOfOrigin));
// Search for sequences within the pertinent substring.
Pattern p = Pattern.compile("\\b([GCATgcat]+)\\b");
Matcher m = p.matcher(pertinentSection);
List<String> sequences = new ArrayList<String>();
while (m.find()) {
sequences.add(m.group(1));
}
sequences.toString(); // => ["acagatgaag", "acagatgaag", ..., "acagatgaag"]
入力文字列と期待される出力を提供できますか? – stema
ちょうどそれ:)ファイルのサンプルを – user1044585
で読んで追加しました。私はlifeformsを解析する正規表現を使用しないでください:) –