我有一個程序,它以邏輯表達式的形式接受用戶輸入(例如:(p =>(r || q))),它將字符串通過括號定義的子字符串。我正在使用模式和匹配器。
因此,例如用戶輸入:
((p || q)=> r)。
我想要得到2子分別是:
p ||常見
和 (P || q)的=> R。
但是我只得到這樣的:
(P ||常見使用Java正則表達式來查找具有另一個子字符串的子字符串
這裏是我使用
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);
}
的代碼,所以我需要一種方式,程序發現的所有子
正則表達式很不適合此任務。我建議你手動解析或使用解析庫。 – 2011-12-21 18:15:31