私はこのようなテキストを持っています
Hello. @b this is text 1 #u user1
正規表現で抽出したい
This is text 1
user1
私の最初の試みは、@、# 記号を検出し、それらのテキストを StringBuilder に記録することです。ただし、これは EditText であり、ユーザーは一部の文字を削除でき、stringbuilder から削除する必要がありました。最後に、それはより複雑になってきているので、別の解決策を見つけることにしました。
私の質問は次のとおりです。コマンド (@b、#u、#b、@u) が使用可能な場合、これらのテキストを抽出するにはどうすればよいですか? 例えば:
Hello. @b this is text 1 => [This is text 1]
Hello. @b this is text 1 #u user1 => [This is text 1] [user1]
Hello. @u user1 => [user1]
私の2回目の試み:
Pattern pattern = Pattern.compile("@b (.+) #u (.+)");
Matcher mat = pattern.matcher(charSequence);
while (mat.find()) {
Logger.write("Matcher "+mat.group(1));
}
ただし、特定のケース @b および #u でのみ機能します