最近自己寫了個爬取小說網站小說內容的 java 爬蟲,頭一次正兒八經的學習和使用正則表達式。在 java 中使用正則表達式有一個問題:正則表達式做為字符串編寫在代碼中,本身就有許多特殊字符,而不少特殊字符在 java 中也要特殊處理,經過轉義才能表示,一旦有未經轉意的字符或者轉意錯誤的字符,那最終正則表達式可能就錯了。
我最初直接在 java 代碼中打上雙引號就直接在字符串里寫正則表達式,結果怎么嘗試運行都不對,但是表達式的意思明明沒有錯啊!到后來想明白了,java 中的轉意符號可能漏了。但是我面對表達式中那么多特殊符號,讓我一個個看哪個要轉意,而且有時候還有斜杠給自身的轉意,實在是讓人頭大。手動轉意麻煩還容易出錯,於是想起來 eclipse 中直接粘貼字符串中的內容,不帶引號則可以自動加轉義符號,這么嘗試之后還真的就方便、正確。
另外,我還尋找了正則表達式的小工具,其中 Qre 的鏈接已經無法訪問,被從 google code 上刪除了,我現在用的是 regester (https://deerchao.net/tools/regester/index.htm),功能比較完備,適用於 Windows 平台,作者還配備了正則表達式的簡要教程和常用形式的正則表達式,我覺得滿意了。目前編程中使用正則表達式都是現在 regester 中編寫並測試好之后粘貼到代碼中,挺方便,不容易出錯。