ここで同様の質問を見つけました。しかし、私はそれを働かせませんでした:
「my_token_string」のような文字列があり、トークン「my_」、「_token_」、および「_string」を返す正規表現が必要です。
別のソフトウェアの一部であるため、Java コードを変更できないことに注意してください。私にできることは、キャプチャするパターンとグループを指定することだけです:-)
これは私がテストしたものです:
String p = "(?=(_[^_]*_?))";
int group = 1;
String test = "my_token_string";
Matcher m = Pattern.compile(p).matcher(test);
while (m.find()) {
System.out.println(m.group(group));
}
しかしもちろん、これはトークン "_token_" と "_string" のみを返します。