ユーザー入力を論理式の形式(たとえば:(p =>(r || q)))で取得するプログラムがあります。括弧で囲まれた部分文字列への文字列。私はパターンとマッチャーを使用しています。
例えば、ユーザ入力:
((p || q)=> r)です。
P || Q
と (P || Q)=> R:
は私がしている2つのストリングを取得したいです。だから私は、プログラムがすべてのサブストリングを見つけるという方法が必要です私はJava Regexを使用して別の部分文字列を持つサブ文字列を見つける
Scanner scanner = new Scanner(System.in);
System.out.println("Enter formula: ");
String formula = scanner.next();
Pattern pattern = Pattern.compile("\\((.*?)\\)");
Matcher matcher = pattern.matcher(formula);
while(matcher.find())
{
String s = matcher.group(1);
System.out.println(s);
}
を使用していたコードを
(P || Qここ
さ:
は、しかし、私はこれだけ取得していますその文字列に。
正規表現はこのタスクには適していません。手動で解析するか、解析ライブラリを使用することをお勧めします。 –