Java Splitting Regex内部报价问题

时间:2014-09-07 01:48:06

标签: java regex

我正在尝试拆分此字符串

String string1 = "Employee:\"Timothy Jones\" and Job:\"Senior Management\" and Hired:\"2003\"";

使用

String[] splitArray = string1.split("###");

但是我正在使用正则表达式将它分成我想要的东西。我想要的结果是

employee, Timothy Jones, and, Job, Senior Mangement, and Hired, 2010  

主要问题似乎是在空格上分割引号内的文本。

2 个答案:

答案 0 :(得分:0)

使用匹配而不是拆分:

([A-Z][a-z]+ [A-Z][a-z]+|\w+)

A-Z][a-z]+ [A-Z][a-z]+会捕获所有短语,例如Timothy JonesSenior Management等,而\w+会捕获剩余的字词。

但请注意,此正则表达式将andHired作为单独的匹配项;我不确定你为什么希望他们参加一场比赛。

RegEx Demo

答案 1 :(得分:0)

或匹配:

".*?"|\S+

" *&#34?; :所有短语都被双引号包围  \ S +:其余的话