这些空格怎么忽略,正则表达怎么写才正确,简洁

来源:15-8 用户信息解析器(上)

无谓1024

2020-04-17

 <li class="w160">
                                <label>级别:</label>
                                紧凑型车                            </li>
                            <li class="w220">
                                <label>结构:</label>
                                三厢车                                                            </li>
                            <li class="w160">
                                <label>耗油:</label>
                                5.6-6.1L/100km</li>
                            <li class="w220">
                                <label>排量:</label>
                                <a target="_blank" href="/2547/1.4t/">1.4T</a><em>|</em><a target="_blank" href="/2547/2.0t/">2.0T</a></li>
                            <li class="w160">
                                <label>保修:</label>
                                3年或10万公里</li>
                            <li class="w220">
                                <label>变速箱:</label>
                                                                    <a target="_blank" href="/2547/config.htm">双离合</a>
var priceRe = regexp.MustCompile(`<div class="data_zd price_menu_box">厂商指导价:<span style="margin-right: 5px">([d.d]+-[d.d]+)</span>万</div>`)
var displacementRe = regexp.MustCompile(`<li class="w220"><label>排量:</label><a target="_blank" href="/2547/1.4t/">([d.d]+T)</a><em>|</em><a target="_blank" href="/2547/2.0t/">([d.d]+T)</a></li>`)

var transmissionRe = regexp.MustCompile(`<li class="w220"><label>变速箱:</label><a target="_blank" href="/2547/config.htm">([^<]+)</a>`)
var fuelRe = regexp.MustCompile(`<li class="w160"><label>耗油:</label>([d.d]+-[d.d]+L/100km)</li>`)

var structureRe = regexp.MustCompile(`<li class="w220"><label>结构:</label>([^<]+)</li>`)
var guaranteeRe = regexp.MustCompile(`<li class="w160"><label>保修:</label>([^<]+)</li>`)
var levelRe = regexp.MustCompile(`<li class="w160"><label>级别:</label>([^<]+)</li>`)
写回答

2回答

EnzoLiu

2020-08-18

\s可以匹配到一个空格(含tab制表符/空白符等...)

\s+ 可以匹配到一个或多个空格

\S可以匹配到一个非空格的数据

0
0

ccmouse

2020-04-17

用\s*可以忽略空格,换行,tab之类的。简洁的话就不用追求了。正则表达式一般都不太简洁。复杂的话,需要配合注释来解释,并且辅以测试来保证正确性。

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程