如何在java中使用正则表达式模式?

嗨,我是regex的新手,我必须根据我的需要打破一个字符串

我有一个字符串s1;

S=1 Agra Achhnera NIL 2 Agra Agra NIL 3 Agra Fatehabad nagar NIL 4 Agra Fatehpur Sikri NIL 5 Aligarh Aligarh 1300.00 6 Siddharth Nagar Naugarh NIL 7 Siddharth Nagar Sahiyapur NIL 8 palam Nagar Shohratgarh NIL; 

我想得到这样的字符串

 S=1 Agra Achhnera NIL 2 Agra Agra NIL 3 Agra Fatehabadnagar NIL 4 Agra FatehpurSikri NIL 5 Aligarh Aligarh 1300.00 6 SiddharthNagar Naugarh NIL 7 SiddharthNagar Sahiyapur NIL 8 palamNagar Shohratgarh NIL 

我怎样才能实现我想要的输出

提前致谢

Goted输出

 1 AgraAchhnera NIL 2 AgraAgra NIL 3 AgraFatehabad NIL 4 AgraFatehpur SikriNIL 

找到/([a-zA-Z]+)\s([a-zA-Z]+)/g

并替换为\1\2$1$2无论您的语言支持哪种反向引用

在这里演示:

http://regex101.com/r/hN3uQ4