问题描述
实际字符串长度不固定
字符串:(A.finished || B.start) && (C.finished || D.start)
注意:.
后面可能是中文 例如: (A.完成 || B.开启)
我想拿到拆分后的列表
也就是:
A.finished
B.start
C.finished
D.start
或者
A.完成
B.开启
这中结果。。
实际字符串长度不固定
字符串:(A.finished || B.start) && (C.finished || D.start)
注意:.
后面可能是中文 例如: (A.完成 || B.开启)
我想拿到拆分后的列表
也就是:
A.finished
B.start
C.finished
D.start
或者
A.完成
B.开启
这中结果。。
java里面使用与js不太一样,具体例子如下:
public static void main(String[] args) {
String regex = "\\b[A-Z]\\..+?(?=\\)|\\s)";
String content = "(A.finished || B.start) && (C.完成 || D.开启)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
List<String> expressionList = Lists.newArrayListWithCapacity(matcher.groupCount());
while (matcher.find()) {
expressionList.add(matcher.group());
}
System.out.println(expressionList.toString());
}
10 回答11.2k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.3k 阅读
2 回答2.7k 阅读✓ 已解决