golang正则表达式

  今天用原生的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)<li class="list-item" data-from="">[\s\S]* class=\"houseListTitle \">([\s\S]*)</a>[\s\S]*<span>(.*)</span><em class="spe-lines">\|</em><span>(.*)</span><em class="spe-lines">\|</em><span>(.*)</span><em class="spe-lines">\|</em><span><em class="em_kw" >(.*)</em>年建造</span>[\s\S]*title="(.*)">[\s\S]*<span class="price-det"><strong>(.*)</strong>万</span><span class="unit-price">(.*)</span>[\s\S]*</li>`)
regResArr := r.FindAllStringSubmatch(regRes, -1)      
posted @ 2020-10-29 20:41  塔塔尔兀格  阅读(437)  评论(0)    收藏  举报