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)
浙公网安备 33010602011771号