我将如何为以下模式编写 java 正则表达式:
"123(1,2),234(1,2),345(1,2),123456(1,2),789(1,2)";
结果应该像这样打印出来:
123 (1,2) 234 (1,2) 345 (1,2) 123456 (1,2) 789 (1,2)
使用此正则表达式进行全局匹配:(?<=^|\),)[0-9]+|\([0-9]+,[0-9]+\)
. 它匹配以“)”开头的一组连续数字或字符串的开头,或格式为(#,#)的序列,其中#是一组连续数字。
这将做到:
String[] parts = str.split("(?=\\()|(?<=\\)),");
这是一个测试:
public static void main (String[] args) throws java.lang.Exception {
String str = "123(1,2),234(1,2),345(1,2),123456(1,2),789(1,2)";
String[] parts = str.split("(?=\\()|(?<=\\)),");
System.out.println(Arrays.toString(parts)); }
}
输出:
[123, (1,2), 234, (1,2), 345, (1,2), 123456, (1,2), 789, (1,2)]