我有一個字符串,它看起來像這樣Java的正則表達式提取字符串兩個詞
<br/><description>Using a combination of remote probes, (TCP/IP, SMB, HTTP, NTP, SNMP, etc...) it is possible to guess the name of the remote operating system in use, and sometimes its version.</description><br/><fname>os_fingerprint.nasl</fname><br/><plugin_modification_date>2012/12/01</plugin_modification_date><br/><plugin_name>OS Identification</plugin_name><br/><plugin_publication_date>2003/12/09</plugin_publication_date><br/><plugin_type>combined</plugin_type><br/><risk_factor>None</risk_factor><br/><solution>n/a</solution><br/><synopsis>It is possible to guess the remote operating system.</synopsis><br/><plugin_output><br/>Remote operating system : Microsoft Windows Server 2008 R2 Enterprise Service Pack 1<br/>Confidence Level : 99<br/>Method : MSRPC<br/><br/> <br/>The remote host is running Microsoft Windows Server 2008 R2 Enterprise Service Pack 1</plugin_output><br/>
我想提取「遠程操作系統:」之間並獲得「微軟的Windows Server 2008 R2企業版Service Pack 1的」 。
Remote operating system : Microsoft Windows Server 2008 R2 Enterprise Service Pack 1<br/>
所以我製作了使用
Pattern pattern = Pattern.compile("(?<=\\bRemote operating system :\\b).*?(?=\\b<br/>\\b)");
正則表達式,但我的正則表達式似乎並不奏效。任何想法?此外,這是一個很好的方式來提取這個操作系統字符串,或者我應該做另一種方式?謝謝!