gpt4 book ai didi

java - 尝试使用正则表达式解析java中的复杂 boolean 表达式

转载 作者:行者123 更新时间:2023-12-02 03:33:22 25 4
gpt4 key购买 nike

我正在尝试解析以下格式的字符串:

boolean1 && boolean2 &&..... booleank

boolean1 || boolean3 || .... booleank

当 ||和 && 可以出现在每个 boolean 值之间(在字符串中,我有自己的测试来查看该字符串是否可以是 boolean 值),如下所示:字符串[]数组= { boolean 1, boolean 2,.... boolean }我的所有数据都以字符串形式出现,我的代码(尚未按预期工作)是这样的:

String line = "a || b && c"; //Just an example to test
String[] booleans = line.split("[||,&&]*");
for(String x: booleans){
x = x.replaceall("\\s*","");
System.out.println(x);
}

这没有按预期工作..我希望它打印:A乙

我收到的输出:

enter image description here

最佳答案

这个正则表达式应该有效:

\s*(&&|\|\|)\s*

用法:

String line = "a || b && c"; //Just an example to test
String[] booleans = line.split("\\s*(&&|\\|\\|)\\s*");
for(String x: booleans) {
System.out.println(x);
}

它还会删除空格,因此不需要下面的行:

x = x.replaceall("\\s*", "");

Try the Java code online

关于java - 尝试使用正则表达式解析java中的复杂 boolean 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37764216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com