我想知道什麼是最好的方式去解析「主機」名稱從oracle連接字符串。下面是一個例子的連接字符串:通過已知段的字符串解析
數據 源=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = MYHOST)(PORT = MyPort上)))(CONNECT_DATA =(SERVER = DEDICATED )(SERVICE_NAME = MyOracleSID)))
而且我在String
。什麼是返回「MyHost」的最佳方式。也將是很好,如果它的工作對雙連接字符串,例如:
((數據 源=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = MyHost1)(PORT = MyPort1) )(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = MyOracleSID1))))(Data Source =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = MyHost2)(PORT = MyPort2) CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = MyOracleSID2)))))
會返回「MyHost1」和「MyHost2」。
試圖編寫一個方法,它接收連接字符串並將字符串數組列表中的主機/主機吐出。
如何應用該模式的字符串,所以我可以得到主機名作爲回報?不太熟悉模式,但我之前使用它們來分割字符串,但從未提取值。 – 2011-03-14 13:45:55
不是非貪婪的通配符會更直接一點嗎? '\(HOST =(。*?)\)'或者我錯過了什麼? – 2011-03-14 13:52:00
@Mark:它會一樣好,我只是習慣了這個版本;-) – 2011-03-14 13:54:11