- import java.util.*; 
- import java.io.*; 
- import java.util.regex.*; 
- import java.util.List; 
-   
- class Program { 
-   
- String-  subject  = "<XXX>word1</XXX> word2 word3 <YYY>word4 word5 word6</YYY> word7 word8 word9 word10 <ZZZ>word11 word12</ZZZ>";
 
- Pattern regex = Pattern.compile("<.*?</[^>]*>|( )"); 
- Matcher m = regex.matcher(subject); 
- while (m.find()) { 
-     if(m.group(1) != null) m.appendReplacement(b, "SplitHere"); 
-     else m.appendReplacement(b, m.group(0)); 
- } 
- m.appendTail(b); 
- String-  replaced  =-  b. toString();
 
- String[]-  splits  =-  replaced. split("SplitHere");
 
- } // end main 
- } // end Program 
				aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmNsYXNzIFByb2dyYW0gewpwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24JewoKU3RyaW5nIHN1YmplY3QgPSAiPFhYWD53b3JkMTwvWFhYPiB3b3JkMiB3b3JkMyA8WVlZPndvcmQ0IHdvcmQ1IHdvcmQ2PC9ZWVk+IHdvcmQ3IHdvcmQ4IHdvcmQ5IHdvcmQxMCA8WlpaPndvcmQxMSB3b3JkMTI8L1paWj4iOwpQYXR0ZXJuIHJlZ2V4ID0gUGF0dGVybi5jb21waWxlKCI8Lio/PC9bXj5dKj58KCApIik7Ck1hdGNoZXIgbSA9IHJlZ2V4Lm1hdGNoZXIoc3ViamVjdCk7ClN0cmluZ0J1ZmZlciBiPSBuZXcgU3RyaW5nQnVmZmVyKCk7CndoaWxlIChtLmZpbmQoKSkgewogICAgaWYobS5ncm91cCgxKSAhPSBudWxsKSBtLmFwcGVuZFJlcGxhY2VtZW50KGIsICJTcGxpdEhlcmUiKTsKICAgIGVsc2UgbS5hcHBlbmRSZXBsYWNlbWVudChiLCBtLmdyb3VwKDApKTsKfQptLmFwcGVuZFRhaWwoYik7ClN0cmluZyByZXBsYWNlZCA9IGIudG9TdHJpbmcoKTsKU3RyaW5nW10gc3BsaXRzID0gcmVwbGFjZWQuc3BsaXQoIlNwbGl0SGVyZSIpOwpmb3IgKFN0cmluZyBzcGxpdCA6IHNwbGl0cykgU3lzdGVtLm91dC5wcmludGxuKHNwbGl0KTsKfSAvLyBlbmQgbWFpbgp9IC8vIGVuZCBQcm9ncmFt