今天用原生的go嘗試寫了下爬取頁面資料,並正則匹配需要的資料。
邏輯比較簡單,就是啟動了幾十個協程進行頁面爬取,然後進行正則匹配。
. 匹配除換行符以外的任意字元,要匹配換行可以用 [\s\s]*,[\d\d]*,
[\w\w]* 進行匹配
. 匹配除換行符以外的任意字元\w 匹配字母或數字或下劃線或漢字 等價於 '[^a-za-z0-9_]'。
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字串的開始
$ 匹配字串的結束
\w能不能匹配漢字要視你的作業系統和你的應用環境而定
記錄一條簡單的正則,寫法和php略有不同,
php 正則模式修飾符在後面 /[a-z]?/isu
golang 正則模式修飾符寫在前面(?u)
r = regexp.mustcompile(`(?u)[\s\s]* class=\"houselisttitle \">([\s\s]*)[\s\s]*(.*)\|(.*)
\|(.*)
\|(.*)年建造[\s\s]*title="(.*)">[\s\s]*(.*)萬
(.*)[\s\s]*`)
regresarr := r.findallstringsubmatch(regres, -1)
Golang 正規表示式
常用語法 golang of regexp 匹配任意換行符以外的任意字元 w 匹配字母 下劃線 漢字 數字 s 匹配任意的空白符 d 匹配數字 b 匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 重複零次或更多次 重複一次或更多次 重複零次或一次 重複n次 重複n次或更多次 重複n,m次之間 ...
Golang 正規表示式
正規表示式是一種進行模式匹配和文字操縱的複雜而又強大的工具。雖然正規表示式比純粹的文字匹配效率低,但是它卻更靈活。按照它的語法規則,隨需構造出的匹配模式就能夠從原始文字中篩選出幾乎任何你想要得到的字元組合。go語言通過regexp標準包為正規表示式提供了官方支援,如果你已經使用過其他程式語言提供的正...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...