java正则表达式,以按令牌的特定匹配项拆分,同时忽略其他匹配项
我有这样一个字符串:
String foo = "James Padolsky , Jimmy\\,Hoffa , Jane"
用,
进行常规拆分将导致Jimmy\,Hoffa也被拆分
就这样吧
James Padolsky
Jimmy\
Hoffa
Jane
我需要的是
James Padolsky
Jimmy\,Hoffa
Jane
因此正则表达式应该忽略\,
,并且只被,
分割
什么正则表达式将给我上述拆分
# 1 楼答案
您可以使用negative lookbehind:
作为一个Java字符串,它应该是
"(?<!\\\\),"
# 2 楼答案
下面是一个包含必需逗号和可选空格的简单解决方案:
输出:
注意:
foo
中反斜杠上的双转义。否则String
初始化将无法编译